mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Changed hydro trays, fertilizer and syringes over to use the reagent procs.
This commit is contained in:
@@ -812,7 +812,7 @@
|
|||||||
product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..."
|
product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..."
|
||||||
icon_state = "nutri"
|
icon_state = "nutri"
|
||||||
icon_deny = "nutri-deny"
|
icon_deny = "nutri-deny"
|
||||||
products = list(/obj/item/nutrient/ez = 35,/obj/item/nutrient/l4z = 25,/obj/item/nutrient/rh = 15,/obj/item/weapon/plantspray/pests = 20,
|
products = list(/obj/item/weapon/reagent_containers/glass/fertilizer/ez = 35,/obj/item/weapon/reagent_containers/glass/fertilizer/l4z = 25,/obj/item/weapon/reagent_containers/glass/fertilizer/rh = 15,/obj/item/weapon/plantspray/pests = 20,
|
||||||
/obj/item/weapon/reagent_containers/syringe = 5,/obj/item/weapon/storage/bag/plants = 5)
|
/obj/item/weapon/reagent_containers/syringe = 5,/obj/item/weapon/storage/bag/plants = 5)
|
||||||
premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5)
|
premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5)
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
item_state = "apron"
|
item_state = "apron"
|
||||||
blood_overlay_type = "armor"
|
blood_overlay_type = "armor"
|
||||||
body_parts_covered = 0
|
body_parts_covered = 0
|
||||||
allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/nutrient,/obj/item/weapon/minihoe)
|
allowed = list (/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/fertilizer,/obj/item/weapon/minihoe)
|
||||||
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
|
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
|
||||||
//Captain
|
//Captain
|
||||||
/obj/item/clothing/suit/captunic
|
/obj/item/clothing/suit/captunic
|
||||||
|
|||||||
@@ -164,29 +164,29 @@
|
|||||||
if("meat")
|
if("meat")
|
||||||
new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc)
|
new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc)
|
||||||
if("ez")
|
if("ez")
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
if("l4z")
|
if("l4z")
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
if("rh")
|
if("rh")
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
if("ez5") //It's not an elegant method, but it's safe and easy. -Cheridan
|
if("ez5") //It's not an elegant method, but it's safe and easy. -Cheridan
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
new/obj/item/nutrient/ez(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/ez(src.loc)
|
||||||
if("l4z5")
|
if("l4z5")
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
new/obj/item/nutrient/l4z(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/l4z(src.loc)
|
||||||
if("rh5")
|
if("rh5")
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
new/obj/item/nutrient/rh(src.loc)
|
new/obj/item/weapon/reagent_containers/glass/fertilizer/rh(src.loc)
|
||||||
if("wallet")
|
if("wallet")
|
||||||
new/obj/item/weapon/storage/wallet(src.loc)
|
new/obj/item/weapon/storage/wallet(src.loc)
|
||||||
if("gloves")
|
if("gloves")
|
||||||
|
|||||||
@@ -267,39 +267,44 @@
|
|||||||
// Nutrient defines for hydroponics
|
// Nutrient defines for hydroponics
|
||||||
// *************************************
|
// *************************************
|
||||||
|
|
||||||
/obj/item/nutrient
|
/obj/item/weapon/reagent_containers/glass/fertilizer
|
||||||
name = "bottle of nutrient"
|
name = "fertilizer bottle"
|
||||||
|
desc = "A small glass bottle. Can hold up to 10 units."
|
||||||
icon = 'icons/obj/chemical.dmi'
|
icon = 'icons/obj/chemical.dmi'
|
||||||
icon_state = "bottle16"
|
icon_state = "bottle16"
|
||||||
flags = FPRINT | TABLEPASS
|
flags = FPRINT | TABLEPASS | OPENCONTAINER
|
||||||
|
possible_transfer_amounts = null
|
||||||
w_class = 2.0
|
w_class = 2.0
|
||||||
var/mutmod = 0
|
|
||||||
var/yieldmod = 0
|
|
||||||
New()
|
|
||||||
src.pixel_x = rand(-5.0, 5)
|
|
||||||
src.pixel_y = rand(-5.0, 5)
|
|
||||||
|
|
||||||
/obj/item/nutrient/ez
|
var/fertilizer //Reagent contained, if any.
|
||||||
|
|
||||||
|
//Like a shot glass!
|
||||||
|
amount_per_transfer_from_this = 10
|
||||||
|
volume = 10
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/glass/fertilizer/New()
|
||||||
|
..()
|
||||||
|
|
||||||
|
src.pixel_x = rand(-5.0, 5)
|
||||||
|
src.pixel_y = rand(-5.0, 5)
|
||||||
|
|
||||||
|
if(fertilizer)
|
||||||
|
reagents.add_reagent(fertilizer,10)
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/glass/fertilizer/ez
|
||||||
name = "bottle of E-Z-Nutrient"
|
name = "bottle of E-Z-Nutrient"
|
||||||
icon = 'icons/obj/chemical.dmi'
|
|
||||||
icon_state = "bottle16"
|
icon_state = "bottle16"
|
||||||
flags = FPRINT | TABLEPASS
|
fertilizer = "eznutrient"
|
||||||
mutmod = 1
|
|
||||||
yieldmod = 1
|
|
||||||
|
|
||||||
/obj/item/nutrient/l4z
|
/obj/item/weapon/reagent_containers/glass/fertilizer/l4z
|
||||||
name = "bottle of Left 4 Zed"
|
name = "bottle of Left 4 Zed"
|
||||||
icon = 'icons/obj/chemical.dmi'
|
|
||||||
icon_state = "bottle18"
|
icon_state = "bottle18"
|
||||||
flags = FPRINT | TABLEPASS
|
fertilizer = "left4zed"
|
||||||
mutmod = 2
|
|
||||||
|
|
||||||
/obj/item/nutrient/rh
|
/obj/item/weapon/reagent_containers/glass/fertilizer/rh
|
||||||
name = "bottle of Robust Harvest"
|
name = "bottle of Robust Harvest"
|
||||||
icon = 'icons/obj/chemical.dmi'
|
|
||||||
icon_state = "bottle15"
|
icon_state = "bottle15"
|
||||||
flags = FPRINT | TABLEPASS
|
fertilizer = "robustharvest"
|
||||||
yieldmod = 2
|
|
||||||
|
|
||||||
//Hatchets and things to kill kudzu
|
//Hatchets and things to kill kudzu
|
||||||
/obj/item/weapon/hatchet
|
/obj/item/weapon/hatchet
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
icon_state = "hydrotray3"
|
icon_state = "hydrotray3"
|
||||||
density = 1
|
density = 1
|
||||||
anchored = 1
|
anchored = 1
|
||||||
|
flags = OPENCONTAINER
|
||||||
|
|
||||||
var/draw_warnings = 1 //Set to 0 to stop it from drawing the alert lights.
|
var/draw_warnings = 1 //Set to 0 to stop it from drawing the alert lights.
|
||||||
|
|
||||||
// Plant maintenance vars.
|
// Plant maintenance vars.
|
||||||
@@ -30,98 +32,101 @@
|
|||||||
var/lastcycle = 0 // Cycle timing/tracking var.
|
var/lastcycle = 0 // Cycle timing/tracking var.
|
||||||
var/cycledelay = 150 // Delay per cycle.
|
var/cycledelay = 150 // Delay per cycle.
|
||||||
var/closed_system // If set, the tray will attempt to take atmos from a pipe.
|
var/closed_system // If set, the tray will attempt to take atmos from a pipe.
|
||||||
var/force_update
|
|
||||||
|
|
||||||
// Seed details/line data.
|
// Seed details/line data.
|
||||||
var/datum/seed/seed = null // The currently planted seed
|
var/datum/seed/seed = null // The currently planted seed
|
||||||
|
|
||||||
// Reagent information for attackby(), consider moving this to a controller along
|
// Reagent information for process(), consider moving this to a controller along
|
||||||
// with cycle information under 'mechanical concerns' at some point.
|
// with cycle information under 'mechanical concerns' at some point.
|
||||||
// For all following lists, when called in attackby() the relevant value will be increased
|
|
||||||
// by 1,val if val>0 or decreased by 1,val if val<0.
|
|
||||||
|
|
||||||
var/global/list/toxic_reagents = list(
|
var/global/list/toxic_reagents = list(
|
||||||
"anti_toxin" = -2,
|
"anti_toxin" = -2,
|
||||||
"toxin" = 2,
|
"toxin" = 2,
|
||||||
"fluorine" = 2.5,
|
"fluorine" = 2.5,
|
||||||
"chlorine" = 1.5,
|
"chlorine" = 1.5,
|
||||||
"sacid" = 1.5,
|
"sacid" = 1.5,
|
||||||
"pacid" = 3,
|
"pacid" = 3,
|
||||||
"plantbgone" = 3,
|
"plantbgone" = 3,
|
||||||
"cryoxadone" = -3,
|
"cryoxadone" = -3,
|
||||||
"radium" = 2
|
"radium" = 2
|
||||||
)
|
)
|
||||||
var/global/list/nutrient_reagents = list(
|
var/global/list/nutrient_reagents = list(
|
||||||
"milk" = 0.1,
|
"milk" = 0.1,
|
||||||
"beer" = 0.25,
|
"beer" = 0.25,
|
||||||
"phosphorus" = 0.1,
|
"phosphorus" = 0.1,
|
||||||
"sugar" = 0.1,
|
"sugar" = 0.1,
|
||||||
"sodawater" = 0.1,
|
"sodawater" = 0.1,
|
||||||
"ammonia" = 1,
|
"ammonia" = 1,
|
||||||
"diethylamine" = 2,
|
"diethylamine" = 2,
|
||||||
"nutriment" = 1,
|
"nutriment" = 1,
|
||||||
"adminordrazine" = 1
|
"adminordrazine" = 1,
|
||||||
|
"eznutrient" = 1,
|
||||||
|
"robustharvest" = 1,
|
||||||
|
"left4zed" = 1
|
||||||
)
|
)
|
||||||
var/global/list/weedkiller_reagents = list(
|
var/global/list/weedkiller_reagents = list(
|
||||||
"fluorine" = -4,
|
"fluorine" = -4,
|
||||||
"chlorine" = -3,
|
"chlorine" = -3,
|
||||||
"phosphorus" = -2,
|
"phosphorus" = -2,
|
||||||
"sugar" = 2,
|
"sugar" = 2,
|
||||||
"sacid" = -2,
|
"sacid" = -2,
|
||||||
"pacid" = -4,
|
"pacid" = -4,
|
||||||
"plantbgone" = -8,
|
"plantbgone" = -8,
|
||||||
"adminordrazine" = -5
|
"adminordrazine" = -5
|
||||||
)
|
)
|
||||||
var/global/list/pestkiller_reagents = list(
|
var/global/list/pestkiller_reagents = list(
|
||||||
"sugar" = 2,
|
"sugar" = 2,
|
||||||
"diethylamine" = -2,
|
"diethylamine" = -2,
|
||||||
"adminordrazine" = -5
|
"adminordrazine" = -5
|
||||||
)
|
)
|
||||||
var/global/list/beneficial_reagents = list(
|
|
||||||
"beer" = -0.05,
|
|
||||||
"fluorine" = -2,
|
|
||||||
"chlorine" = -1,
|
|
||||||
"phosphorus" = -0.75,
|
|
||||||
"sodawater" = 0.1,
|
|
||||||
"sacid" = -1,
|
|
||||||
"pacid" = -2,
|
|
||||||
"plantbgone" = -2,
|
|
||||||
"cryoxadone" = 3,
|
|
||||||
"ammonia" = 0.5,
|
|
||||||
"diethylamine" = 1,
|
|
||||||
"nutriment" = 0.5,
|
|
||||||
"radium" = -1.5,
|
|
||||||
"adminordrazine" = 1
|
|
||||||
)
|
|
||||||
var/global/list/water_reagents = list(
|
var/global/list/water_reagents = list(
|
||||||
"adminordrazine" = 1,
|
"water" = 1,
|
||||||
"milk" = 0.9,
|
"adminordrazine" = 1,
|
||||||
"beer" = 0.7,
|
"milk" = 0.9,
|
||||||
"flourine" = -0.5,
|
"beer" = 0.7,
|
||||||
"chlorine" = -0.5,
|
"flourine" = -0.5,
|
||||||
"phosphorus" = -0.5,
|
"chlorine" = -0.5,
|
||||||
"water" = 1,
|
"phosphorus" = -0.5,
|
||||||
"sodawater" = 1,
|
"water" = 1,
|
||||||
|
"sodawater" = 1,
|
||||||
|
)
|
||||||
|
|
||||||
|
// Beneficial reagents also have values for modifying yield_mod and mut_mod (in that order).
|
||||||
|
var/global/list/beneficial_reagents = list(
|
||||||
|
"beer" = list( -0.05, 0, 0 ),
|
||||||
|
"fluorine" = list( -2, 0, 0 ),
|
||||||
|
"chlorine" = list( -1, 0, 0 ),
|
||||||
|
"phosphorus" = list( -0.75, 0, 0 ),
|
||||||
|
"sodawater" = list( 0.1, 0, 0 ),
|
||||||
|
"sacid" = list( -1, 0, 0 ),
|
||||||
|
"pacid" = list( -2, 0, 0 ),
|
||||||
|
"plantbgone" = list( -2, 0, 0.2 ),
|
||||||
|
"cryoxadone" = list( 3, 0, 0 ),
|
||||||
|
"ammonia" = list( 0.5, 0, 0 ),
|
||||||
|
"diethylamine" = list( 1, 0, 0 ),
|
||||||
|
"nutriment" = list( 0.5, 1, 0 ),
|
||||||
|
"radium" = list( -1.5, 0, 0.2 ),
|
||||||
|
"adminordrazine" = list( 1, 1, 1 ),
|
||||||
|
"robustharvest" = list( 0, 0.2, 0 ),
|
||||||
|
"left4zed" = list( 0, 0, 0.2 )
|
||||||
)
|
)
|
||||||
|
|
||||||
// Mutagen list specifies minimum value for the mutation to take place, rather
|
// Mutagen list specifies minimum value for the mutation to take place, rather
|
||||||
// than a bound as the lists above specify.
|
// than a bound as the lists above specify.
|
||||||
var/global/list/mutagenic_reagents = list(
|
var/global/list/mutagenic_reagents = list(
|
||||||
"radium" = 8,
|
"radium" = list(8,3),
|
||||||
"mutagen" = 3
|
"mutagen" = list(3,8)
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/New()
|
/obj/machinery/portable_atmospherics/hydroponics/New()
|
||||||
..()
|
..()
|
||||||
|
create_reagents(200)
|
||||||
connect()
|
connect()
|
||||||
update_icon()
|
update_icon()
|
||||||
|
if(closed_system)
|
||||||
|
flags &= ~OPENCONTAINER
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/bullet_act(var/obj/item/projectile/Proj)
|
/obj/machinery/portable_atmospherics/hydroponics/bullet_act(var/obj/item/projectile/Proj)
|
||||||
|
|
||||||
//Don't act on seeds like dionaea that shouldn't change.
|
|
||||||
if(seed && seed.immutable > 0)
|
|
||||||
return
|
|
||||||
|
|
||||||
//Override for somatoray projectiles.
|
//Override for somatoray projectiles.
|
||||||
if(istype(Proj ,/obj/item/projectile/energy/floramut) && prob(20))
|
if(istype(Proj ,/obj/item/projectile/energy/floramut) && prob(20))
|
||||||
mutate(1)
|
mutate(1)
|
||||||
@@ -142,12 +147,13 @@
|
|||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/process()
|
/obj/machinery/portable_atmospherics/hydroponics/process()
|
||||||
|
|
||||||
// Update values every cycle rather than every process() tick.
|
//Do this even if we're not ready for a plant cycle.
|
||||||
if(force_update)
|
if(seed && !dead)
|
||||||
force_update = 0
|
process_reagents()
|
||||||
else if(world.time < (lastcycle + cycledelay))
|
|
||||||
return
|
|
||||||
|
|
||||||
|
// Update values every cycle rather than every process() tick.
|
||||||
|
if(world.time < (lastcycle + cycledelay))
|
||||||
|
return
|
||||||
lastcycle = world.time
|
lastcycle = world.time
|
||||||
|
|
||||||
// Weeds like water and nutrients, there's a chance the weed population will increase.
|
// Weeds like water and nutrients, there's a chance the weed population will increase.
|
||||||
@@ -169,11 +175,6 @@
|
|||||||
// Advance plant age.
|
// Advance plant age.
|
||||||
if(prob(25)) age += 1 * HYDRO_SPEED_MULTIPLIER
|
if(prob(25)) age += 1 * HYDRO_SPEED_MULTIPLIER
|
||||||
|
|
||||||
//Highly mutable plants have a chance of mutating every tick.
|
|
||||||
if(seed.immutable == -1)
|
|
||||||
var/mut_prob = rand(1,100)
|
|
||||||
if(mut_prob <= 5) mutate(mut_prob == 1 ? 2 : 1)
|
|
||||||
|
|
||||||
// Maintain tray nutrient and water levels.
|
// Maintain tray nutrient and water levels.
|
||||||
if(seed.nutrient_consumption > 0 && nutrilevel > 0 && prob(25))
|
if(seed.nutrient_consumption > 0 && nutrilevel > 0 && prob(25))
|
||||||
nutrilevel -= max(0,seed.nutrient_consumption * HYDRO_SPEED_MULTIPLIER)
|
nutrilevel -= max(0,seed.nutrient_consumption * HYDRO_SPEED_MULTIPLIER)
|
||||||
@@ -201,9 +202,9 @@
|
|||||||
// If atmos input is not there, grab from turf.
|
// If atmos input is not there, grab from turf.
|
||||||
if(!environment)
|
if(!environment)
|
||||||
if(istype(T))
|
if(istype(T))
|
||||||
environment = T.air
|
environment = T.return_air()
|
||||||
if(!environment)
|
|
||||||
return
|
if(!environment) return
|
||||||
|
|
||||||
// Handle gas consumption.
|
// Handle gas consumption.
|
||||||
if(seed.consume_gasses && seed.consume_gasses.len)
|
if(seed.consume_gasses && seed.consume_gasses.len)
|
||||||
@@ -218,6 +219,9 @@
|
|||||||
if(missing_gas > 0)
|
if(missing_gas > 0)
|
||||||
health -= missing_gas * HYDRO_SPEED_MULTIPLIER
|
health -= missing_gas * HYDRO_SPEED_MULTIPLIER
|
||||||
|
|
||||||
|
if(!environment) //We're in a crate or nullspace, bail out.
|
||||||
|
return
|
||||||
|
|
||||||
// Process it.
|
// Process it.
|
||||||
var/pressure = environment.return_pressure()
|
var/pressure = environment.return_pressure()
|
||||||
if(pressure < seed.lowkpa_tolerance || pressure > seed.highkpa_tolerance)
|
if(pressure < seed.lowkpa_tolerance || pressure > seed.highkpa_tolerance)
|
||||||
@@ -230,7 +234,7 @@
|
|||||||
if(seed.exude_gasses && seed.exude_gasses.len)
|
if(seed.exude_gasses && seed.exude_gasses.len)
|
||||||
var/datum/gas_mixture/exuded = new
|
var/datum/gas_mixture/exuded = new
|
||||||
for(var/gas in seed.exude_gasses)
|
for(var/gas in seed.exude_gasses)
|
||||||
exuded.adjust_gas(gas,seed.exude_gasses[gas*seed.potency],1) //This will need adjustment since it produces moles.
|
exuded.adjust_gas(gas,seed.exude_gasses[gas*seed.potency],1) //This will need balancing since it produces moles.
|
||||||
loc.assume_air(exuded)
|
loc.assume_air(exuded)
|
||||||
|
|
||||||
// Handle light requirements.
|
// Handle light requirements.
|
||||||
@@ -282,18 +286,67 @@
|
|||||||
pestlevel = 0
|
pestlevel = 0
|
||||||
|
|
||||||
// If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again.
|
// If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again.
|
||||||
else if(seed.products && seed.products.len && age > seed.production && \
|
else if(seed.products && seed.products.len && age > seed.production && (age - lastproduce) > seed.production && (!harvest && !dead))
|
||||||
(age - lastproduce) > seed.production && (!harvest && !dead))
|
|
||||||
|
|
||||||
harvest = 1
|
harvest = 1
|
||||||
lastproduce = age
|
lastproduce = age
|
||||||
|
|
||||||
if(prob(5)) // On each tick, there's a 5 percent chance the pest population will increase
|
if(prob(3)) // On each tick, there's a chance the pest population will increase
|
||||||
pestlevel += 1 * HYDRO_SPEED_MULTIPLIER
|
pestlevel += 1 * HYDRO_SPEED_MULTIPLIER
|
||||||
|
|
||||||
check_level_sanity()
|
check_level_sanity()
|
||||||
update_icon()
|
update_icon()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
//Process reagents being input into the tray.
|
||||||
|
/obj/machinery/portable_atmospherics/hydroponics/proc/process_reagents()
|
||||||
|
if(dead || !seed || !reagents) return
|
||||||
|
|
||||||
|
if(reagents.total_volume <= 0)
|
||||||
|
return
|
||||||
|
|
||||||
|
for(var/datum/reagent/R in reagents.reagent_list)
|
||||||
|
|
||||||
|
var/reagent_total = reagents.get_reagent_amount(R.id)
|
||||||
|
|
||||||
|
//Handle some general level adjustments.
|
||||||
|
if(toxic_reagents[R.id])
|
||||||
|
toxins += toxic_reagents[R.id] * reagent_total
|
||||||
|
if(nutrient_reagents[R.id])
|
||||||
|
nutrilevel += nutrient_reagents[R.id] * reagent_total
|
||||||
|
if(weedkiller_reagents[R.id])
|
||||||
|
weedlevel += weedkiller_reagents[R.id] * reagent_total
|
||||||
|
if(pestkiller_reagents[R.id])
|
||||||
|
pestlevel += pestkiller_reagents[R.id] * reagent_total
|
||||||
|
|
||||||
|
// Beneficial reagents have a few impacts along with health buffs.
|
||||||
|
if(beneficial_reagents[R.id])
|
||||||
|
health += beneficial_reagents[R.id][1] * reagent_total
|
||||||
|
yield_mod += beneficial_reagents[R.id][2] * reagent_total
|
||||||
|
mutation_mod += beneficial_reagents[R.id][3] * reagent_total
|
||||||
|
|
||||||
|
// Mutagen is distinct from the previous types and mostly has a chance of proccing a mutation.
|
||||||
|
if(mutagenic_reagents[R.id])
|
||||||
|
var/reagent_min_value = mutagenic_reagents[R.id][1]
|
||||||
|
var/reagent_value = mutagenic_reagents[R.id][2]+mutation_mod
|
||||||
|
|
||||||
|
if(reagent_total >= reagent_min_value)
|
||||||
|
if(prob(min(reagent_total*reagent_value,100)))
|
||||||
|
mutate(reagent_total > 10 ? 2 : 1)
|
||||||
|
|
||||||
|
// Handle water and water refilling.
|
||||||
|
var/water_added = 0
|
||||||
|
if(water_reagents[R.id])
|
||||||
|
var/water_input = water_reagents[R.id] * reagent_total
|
||||||
|
water_added += water_input
|
||||||
|
waterlevel += water_input
|
||||||
|
|
||||||
|
if(water_added > 0)
|
||||||
|
toxins -= round(water_added/4)
|
||||||
|
|
||||||
|
reagents.clear_reagents()
|
||||||
|
check_level_sanity()
|
||||||
|
update_icon()
|
||||||
|
|
||||||
//Harvests the product of a plant.
|
//Harvests the product of a plant.
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/proc/harvest(var/mob/user)
|
/obj/machinery/portable_atmospherics/hydroponics/proc/harvest(var/mob/user)
|
||||||
|
|
||||||
@@ -446,7 +499,6 @@
|
|||||||
weedlevel = max(0,min(weedlevel,10))
|
weedlevel = max(0,min(weedlevel,10))
|
||||||
toxins = max(0,min(toxins,10))
|
toxins = max(0,min(toxins,10))
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/proc/mutate_species()
|
/obj/machinery/portable_atmospherics/hydroponics/proc/mutate_species()
|
||||||
|
|
||||||
var/previous_plant = seed.display_name
|
var/previous_plant = seed.display_name
|
||||||
@@ -471,168 +523,26 @@
|
|||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/portable_atmospherics/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
|
|
||||||
if(istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/weapon/scalpel))
|
if (O.is_open_container())
|
||||||
|
return 0
|
||||||
|
|
||||||
if(!seed)
|
if(istype(O, /obj/item/weapon/reagent_containers/syringe))
|
||||||
user << "There is nothing to take a sample from in \the [src]."
|
|
||||||
return
|
|
||||||
|
|
||||||
seed.harvest(user,yield_mod,1)
|
|
||||||
health -= (rand(1,5)*10)
|
|
||||||
check_level_sanity()
|
|
||||||
|
|
||||||
force_update = 1
|
|
||||||
process()
|
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
else if (istype(O, /obj/item/weapon/reagent_containers/glass))
|
|
||||||
var/b_amount = O.reagents.get_reagent_amount("water")
|
|
||||||
if(b_amount > 0 && waterlevel < 100)
|
|
||||||
if(b_amount + waterlevel > 100)
|
|
||||||
b_amount = 100 - waterlevel
|
|
||||||
O.reagents.remove_reagent("water", b_amount)
|
|
||||||
waterlevel += b_amount
|
|
||||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
|
||||||
user << "You fill \the [src] with [round(b_amount,0.1)] units of water."
|
|
||||||
|
|
||||||
// The more water you put in, the more diluted the toxins become.
|
|
||||||
toxins -= round(b_amount/4)
|
|
||||||
|
|
||||||
else if(waterlevel >= 100)
|
|
||||||
user << "\red \The [src] is already full."
|
|
||||||
else
|
|
||||||
user << "\red \The [O] is not filled with water."
|
|
||||||
|
|
||||||
check_level_sanity()
|
|
||||||
update_icon()
|
|
||||||
|
|
||||||
// Nutrient fluid replacement. TODO: Consider rolling this into a proper reagent-processing proc.
|
|
||||||
else if ( istype(O, /obj/item/nutrient) )
|
|
||||||
var/obj/item/nutrient/nutrient = O
|
|
||||||
user.u_equip(O)
|
|
||||||
nutrilevel = 10
|
|
||||||
yield_mod = nutrient.yieldmod
|
|
||||||
mutation_mod = nutrient.mutmod
|
|
||||||
user << "You replace the nutrient solution in the [src]."
|
|
||||||
del(O)
|
|
||||||
update_icon()
|
|
||||||
|
|
||||||
// Syringe stuff
|
|
||||||
else if(istype(O, /obj/item/weapon/reagent_containers/syringe))
|
|
||||||
|
|
||||||
var/obj/item/weapon/reagent_containers/syringe/S = O
|
var/obj/item/weapon/reagent_containers/syringe/S = O
|
||||||
|
|
||||||
if(seed)
|
if (S.mode == 1)
|
||||||
// Injecting into the plant.
|
if(seed)
|
||||||
if (S.mode == 1)
|
return ..()
|
||||||
if(!S.reagents.total_volume)
|
|
||||||
user << "\red [O] is empty."
|
|
||||||
return
|
|
||||||
|
|
||||||
user << "\red You inject the [seed.display_name] with a chemical solution."
|
|
||||||
|
|
||||||
// Uuuuuugh this whole chunk is going to be awful. TODO: condense it down somehow.
|
|
||||||
// Run through the various reagents in the lists and apply their effects as needed.
|
|
||||||
for(var/datum/reagent/R in S.reagents.reagent_list)
|
|
||||||
|
|
||||||
var/reagent_value = 0
|
|
||||||
|
|
||||||
if(toxic_reagents[R.id])
|
|
||||||
reagent_value = toxic_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
toxins += reagent_value
|
|
||||||
else
|
|
||||||
toxins += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
toxins += reagent_value
|
|
||||||
else
|
|
||||||
toxins -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
if(nutrient_reagents[R.id])
|
|
||||||
reagent_value = nutrient_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
nutrilevel += reagent_value
|
|
||||||
else
|
|
||||||
nutrilevel += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
nutrilevel += reagent_value
|
|
||||||
else
|
|
||||||
nutrilevel -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
if(weedkiller_reagents[R.id])
|
|
||||||
reagent_value = weedkiller_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
weedlevel += reagent_value
|
|
||||||
else
|
|
||||||
weedlevel += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
weedlevel += reagent_value
|
|
||||||
else
|
|
||||||
weedlevel -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
if(pestkiller_reagents[R.id])
|
|
||||||
reagent_value = pestkiller_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
pestlevel += reagent_value
|
|
||||||
else
|
|
||||||
pestlevel += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
pestlevel += reagent_value
|
|
||||||
else
|
|
||||||
pestlevel -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
if(beneficial_reagents[R.id])
|
|
||||||
reagent_value = beneficial_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
health += reagent_value
|
|
||||||
else
|
|
||||||
health += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
health += reagent_value
|
|
||||||
else
|
|
||||||
health -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
if(water_reagents[R.id])
|
|
||||||
reagent_value = water_reagents[R.id]
|
|
||||||
if(reagent_value > 0)
|
|
||||||
if(reagent_value < 1)
|
|
||||||
waterlevel += reagent_value
|
|
||||||
else
|
|
||||||
waterlevel += round(S.reagents.get_reagent_amount(R.id)*rand(1,reagent_value))
|
|
||||||
else
|
|
||||||
if(reagent_value > -1)
|
|
||||||
waterlevel += reagent_value
|
|
||||||
else
|
|
||||||
waterlevel -= abs(round(S.reagents.get_reagent_amount(R.id)*rand(1,abs(reagent_value))))
|
|
||||||
|
|
||||||
// Mutagen is distinct from the previous types and mostly has a chance of proccing a mutation.
|
|
||||||
if(mutagenic_reagents[R.id])
|
|
||||||
var/reagent_total = S.reagents.get_reagent_amount(R.id)
|
|
||||||
reagent_value = mutagenic_reagents[R.id]+mutation_mod
|
|
||||||
if(reagent_total >= reagent_value)
|
|
||||||
if(prob(min(reagent_total*reagent_value,100)))
|
|
||||||
mutate(reagent_total > 10 ? 2 : 1)
|
|
||||||
|
|
||||||
S.reagents.clear_reagents()
|
|
||||||
|
|
||||||
else
|
else
|
||||||
user << "You can't get any extract out of this plant."
|
user << "There's no plant in the tray to inject."
|
||||||
|
return 1
|
||||||
else
|
else
|
||||||
user << "There's nothing to inject the solution into."
|
if(seed)
|
||||||
|
//Leaving this in in case we want to extract from plants later.
|
||||||
check_level_sanity()
|
user << "You can't get any extract out of this plant."
|
||||||
update_icon()
|
else
|
||||||
|
user << "There's nothing in the tray to draw something from."
|
||||||
|
return 1
|
||||||
|
|
||||||
else if (istype(O, /obj/item/seeds))
|
else if (istype(O, /obj/item/seeds))
|
||||||
|
|
||||||
@@ -662,8 +572,7 @@
|
|||||||
seed = S.seed //Grab the seed datum.
|
seed = S.seed //Grab the seed datum.
|
||||||
dead = 0
|
dead = 0
|
||||||
age = 1
|
age = 1
|
||||||
//Snowflakey, maybe move this to the seed datum
|
health = seed.endurance
|
||||||
health = (istype(S, /obj/item/seeds/cutting) ? round(seed.endurance/rand(2,5)) : seed.endurance)
|
|
||||||
lastcycle = world.time
|
lastcycle = world.time
|
||||||
|
|
||||||
del(O)
|
del(O)
|
||||||
@@ -783,6 +692,7 @@
|
|||||||
usr << "[src] is \red filled with weeds!"
|
usr << "[src] is \red filled with weeds!"
|
||||||
if(pestlevel >= 5)
|
if(pestlevel >= 5)
|
||||||
usr << "[src] is \red filled with tiny worms!"
|
usr << "[src] is \red filled with tiny worms!"
|
||||||
|
|
||||||
if(!istype(src,/obj/machinery/portable_atmospherics/hydroponics/soil))
|
if(!istype(src,/obj/machinery/portable_atmospherics/hydroponics/soil))
|
||||||
|
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
@@ -818,6 +728,11 @@
|
|||||||
|
|
||||||
closed_system = !closed_system
|
closed_system = !closed_system
|
||||||
usr << "You [closed_system ? "close" : "open"] the tray's lid."
|
usr << "You [closed_system ? "close" : "open"] the tray's lid."
|
||||||
|
if(closed_system)
|
||||||
|
flags &= ~OPENCONTAINER
|
||||||
|
else
|
||||||
|
flags |= OPENCONTAINER
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/soil
|
/obj/machinery/portable_atmospherics/hydroponics/soil
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ proc/populate_seed_list()
|
|||||||
//Tolerances.
|
//Tolerances.
|
||||||
var/requires_nutrients = 1 // The plant can starve.
|
var/requires_nutrients = 1 // The plant can starve.
|
||||||
var/nutrient_consumption = 0.25 // Plant eats this much per tick.
|
var/nutrient_consumption = 0.25 // Plant eats this much per tick.
|
||||||
var/requires_water = 1 // The plant can become dehydrated.
|
var/requires_water = 3 // The plant can become dehydrated.
|
||||||
var/water_consumption = 3 // Plant drinks this much per tick.
|
var/water_consumption = 1 // Plant drinks this much per tick.
|
||||||
var/ideal_heat = 293 // Preferred temperature in Kelvin.
|
var/ideal_heat = 293 // Preferred temperature in Kelvin.
|
||||||
var/heat_tolerance = 20 // Departure from ideal that is survivable.
|
var/heat_tolerance = 20 // Departure from ideal that is survivable.
|
||||||
var/ideal_light = 8 // Preferred light level in luminosity.
|
var/ideal_light = 8 // Preferred light level in luminosity.
|
||||||
@@ -83,7 +83,7 @@ proc/populate_seed_list()
|
|||||||
var/spread = 0 // 0 limits plant to tray, 1 = creepers, 2 = vines.
|
var/spread = 0 // 0 limits plant to tray, 1 = creepers, 2 = vines.
|
||||||
var/carnivorous = 0 // 0 = none, 1 = eat pests in tray, 2 = eat living things (when a vine).
|
var/carnivorous = 0 // 0 = none, 1 = eat pests in tray, 2 = eat living things (when a vine).
|
||||||
var/parasite = 0 // 0 = no, 1 = gain health from weed level.
|
var/parasite = 0 // 0 = no, 1 = gain health from weed level.
|
||||||
var/immutable = 0 // If set, plant will never mutate. If -1, plant has a chance of mutating during process().
|
var/immutable= 0 // If set, plant will never mutate.
|
||||||
var/alter_temp // If set, the plant will periodically alter local temp by this amount.
|
var/alter_temp // If set, the plant will periodically alter local temp by this amount.
|
||||||
|
|
||||||
// Cosmetics.
|
// Cosmetics.
|
||||||
@@ -99,13 +99,13 @@ proc/populate_seed_list()
|
|||||||
|
|
||||||
//Returns a key corresponding to an entry in the global seed list.
|
//Returns a key corresponding to an entry in the global seed list.
|
||||||
/datum/seed/proc/get_mutant_variant()
|
/datum/seed/proc/get_mutant_variant()
|
||||||
if(!mutants || !mutants.len || immutable > 0) return 0
|
if(!mutants || !mutants.len || immutable) return 0
|
||||||
return pick(mutants)
|
return pick(mutants)
|
||||||
|
|
||||||
//Mutates the plant overall (randomly).
|
//Mutates the plant overall (randomly).
|
||||||
/datum/seed/proc/mutate(var/degree,var/turf/source_turf)
|
/datum/seed/proc/mutate(var/degree,var/turf/source_turf)
|
||||||
|
|
||||||
if(!degree || immutable > 0) return
|
if(!degree || immutable) return
|
||||||
|
|
||||||
source_turf.visible_message("\blue \The [display_name] quivers!")
|
source_turf.visible_message("\blue \The [display_name] quivers!")
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ proc/populate_seed_list()
|
|||||||
//Mutates a specific trait/set of traits.
|
//Mutates a specific trait/set of traits.
|
||||||
/datum/seed/proc/apply_gene(var/datum/plantgene/gene)
|
/datum/seed/proc/apply_gene(var/datum/plantgene/gene)
|
||||||
|
|
||||||
if(!gene || !gene.values || immutable > 0) return
|
if(!gene || !gene.values || immutable) return
|
||||||
|
|
||||||
switch(gene.genetype)
|
switch(gene.genetype)
|
||||||
|
|
||||||
@@ -345,7 +345,7 @@ proc/populate_seed_list()
|
|||||||
return (P ? P : 0)
|
return (P ? P : 0)
|
||||||
|
|
||||||
//Place the plant products at the feet of the user.
|
//Place the plant products at the feet of the user.
|
||||||
/datum/seed/proc/harvest(var/mob/user,var/yield_mod,var/harvest_sample)
|
/datum/seed/proc/harvest(var/mob/user,var/yield_mod)
|
||||||
if(!user)
|
if(!user)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -356,7 +356,7 @@ proc/populate_seed_list()
|
|||||||
if(!got_product)
|
if(!got_product)
|
||||||
user << "\red You fail to harvest anything useful."
|
user << "\red You fail to harvest anything useful."
|
||||||
else
|
else
|
||||||
user << "You [harvest_sample ? "take a sample" : "harvest"] from the [display_name]."
|
user << "You harvest from the [display_name]."
|
||||||
|
|
||||||
//This may be a new line. Update the global if it is.
|
//This may be a new line. Update the global if it is.
|
||||||
if(name == "new line" || !(name in seed_types))
|
if(name == "new line" || !(name in seed_types))
|
||||||
@@ -364,12 +364,6 @@ proc/populate_seed_list()
|
|||||||
name = "[uid]"
|
name = "[uid]"
|
||||||
seed_types[name] = src
|
seed_types[name] = src
|
||||||
|
|
||||||
if(harvest_sample)
|
|
||||||
var/obj/item/seeds/seeds = new(get_turf(user))
|
|
||||||
seeds.seed_type = name
|
|
||||||
seeds.update_seed()
|
|
||||||
return
|
|
||||||
|
|
||||||
var/total_yield
|
var/total_yield
|
||||||
if(isnull(yield_mod) || yield_mod < 1)
|
if(isnull(yield_mod) || yield_mod < 1)
|
||||||
yield_mod = 0
|
yield_mod = 0
|
||||||
@@ -402,7 +396,7 @@ proc/populate_seed_list()
|
|||||||
// be put into the global datum list until the product is harvested, though.
|
// be put into the global datum list until the product is harvested, though.
|
||||||
/datum/seed/proc/diverge(var/modified)
|
/datum/seed/proc/diverge(var/modified)
|
||||||
|
|
||||||
if(immutable > 0) return
|
if(immutable) return
|
||||||
|
|
||||||
//Set up some basic information.
|
//Set up some basic information.
|
||||||
var/datum/seed/new_seed = new
|
var/datum/seed/new_seed = new
|
||||||
@@ -1407,4 +1401,4 @@ proc/populate_seed_list()
|
|||||||
maturation = 1
|
maturation = 1
|
||||||
production = 1
|
production = 1
|
||||||
yield = 1
|
yield = 1
|
||||||
potency = 1
|
potency = 1
|
||||||
@@ -1734,6 +1734,27 @@ datum
|
|||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
//Reagents used for plant fertilizers.
|
||||||
|
toxin/fertilizer
|
||||||
|
name = "fertilizer"
|
||||||
|
id = "fertilizer"
|
||||||
|
description = "A chemical mix good for growing plants with."
|
||||||
|
reagent_state = LIQUID
|
||||||
|
toxpwr = 0.2 //It's not THAT poisonous.
|
||||||
|
color = "#664330" // rgb: 102, 67, 48
|
||||||
|
|
||||||
|
toxin/fertilizer/eznutrient
|
||||||
|
name = "EZ Nutrient"
|
||||||
|
id = "eznutrient"
|
||||||
|
|
||||||
|
toxin/fertilizer/left4zed
|
||||||
|
name = "Left-4-Zed"
|
||||||
|
id = "left4zed"
|
||||||
|
|
||||||
|
toxin/fertilizer/robustharvest
|
||||||
|
name = "Robust Harvest"
|
||||||
|
id = "robustharvest"
|
||||||
|
|
||||||
toxin/plantbgone
|
toxin/plantbgone
|
||||||
name = "Plant-B-Gone"
|
name = "Plant-B-Gone"
|
||||||
id = "plantbgone"
|
id = "plantbgone"
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
/obj/machinery/sleeper,
|
/obj/machinery/sleeper,
|
||||||
/obj/machinery/smartfridge/,
|
/obj/machinery/smartfridge/,
|
||||||
/obj/machinery/biogenerator,
|
/obj/machinery/biogenerator,
|
||||||
/obj/machinery/portable_atmospherics/hydroponics,
|
|
||||||
/obj/machinery/constructable_frame)
|
/obj/machinery/constructable_frame)
|
||||||
|
|
||||||
New()
|
New()
|
||||||
@@ -108,6 +107,7 @@
|
|||||||
user << "\blue You fill [src] with [trans] units of the contents of [target]."
|
user << "\blue You fill [src] with [trans] units of the contents of [target]."
|
||||||
|
|
||||||
else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
|
else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
|
||||||
|
|
||||||
if(!reagents.total_volume)
|
if(!reagents.total_volume)
|
||||||
user << "\red [src] is empty."
|
user << "\red [src] is empty."
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -3713,7 +3713,7 @@
|
|||||||
"btu" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engine/break_room)
|
"btu" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/engine/break_room)
|
||||||
"btv" = (/turf/simulated/wall/r_wall,/area/teleporter)
|
"btv" = (/turf/simulated/wall/r_wall,/area/teleporter)
|
||||||
"btw" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
|
"btw" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/rnd/test_area)
|
||||||
"btx" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora)
|
"btx" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora)
|
||||||
"bty" = (/turf/simulated/wall,/area/rnd/test_area)
|
"bty" = (/turf/simulated/wall,/area/rnd/test_area)
|
||||||
"btz" = (/obj/structure/bookcase,/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych)
|
"btz" = (/obj/structure/bookcase,/turf/simulated/floor{icon_state = "bcarpet06"},/area/medical/psych)
|
||||||
"btA" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = null; req_access_txt = "64"},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych)
|
"btA" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = null; req_access_txt = "64"},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor{icon_state = "bcarpet04"},/area/medical/psych)
|
||||||
@@ -9047,7 +9047,7 @@
|
|||||||
"drY" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area)
|
"drY" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area)
|
||||||
"drZ" = (/obj/structure/transit_tube{icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area)
|
"drZ" = (/obj/structure/transit_tube{icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area)
|
||||||
"dsa" = (/turf/simulated/mineral/random,/area/mine/unexplored)
|
"dsa" = (/turf/simulated/mineral/random,/area/mine/unexplored)
|
||||||
"dsb" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/nutrient/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
|
"dsb" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
|
||||||
"dsc" = (/obj/machinery/light/small,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
|
"dsc" = (/obj/machinery/light/small,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
|
||||||
"dsd" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "synd_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 7; req_access_txt = "150"},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
|
"dsd" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_closed"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "synd_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 7; req_access_txt = "150"},/turf/simulated/shuttle/plating,/area/syndicate_station/start)
|
||||||
"dse" = (/turf/simulated/floor,/area/research_outpost/maintstore1)
|
"dse" = (/turf/simulated/floor,/area/research_outpost/maintstore1)
|
||||||
@@ -9697,7 +9697,7 @@
|
|||||||
"dEy" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership)
|
"dEy" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_mothership)
|
||||||
"dEz" = (/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/weapon/spacecash/c1,/turf/simulated/floor/engine,/area/tcommsat/computer)
|
"dEz" = (/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/weapon/spacecash/c1,/turf/simulated/floor/engine,/area/tcommsat/computer)
|
||||||
"dEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1)
|
"dEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1)
|
||||||
"dEB" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
|
"dEB" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Isolation to Waste"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
|
||||||
"dEC" = (/turf/simulated/floor,/area/research_outpost/gearstore)
|
"dEC" = (/turf/simulated/floor,/area/research_outpost/gearstore)
|
||||||
"dED" = (/obj/machinery/recharge_station,/turf/simulated/floor,/area/research_outpost/gearstore)
|
"dED" = (/obj/machinery/recharge_station,/turf/simulated/floor,/area/research_outpost/gearstore)
|
||||||
"dEE" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
|
"dEE" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
|
||||||
@@ -10975,6 +10975,11 @@
|
|||||||
"edc" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
|
"edc" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
|
||||||
"edd" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
|
"edd" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/grass,/area/research_outpost/maintstore1)
|
||||||
"ede" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_shuttle_hatch"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
|
"ede" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "escape_shuttle_hatch"; pixel_y = -19},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom)
|
||||||
|
"edf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
|
||||||
|
"edg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
|
||||||
|
"edh" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora)
|
||||||
|
"edi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "hydrofloor"},/area/rnd/xenobiology/xenoflora)
|
||||||
|
"edj" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
|
||||||
|
|
||||||
(1,1,1) = {"
|
(1,1,1) = {"
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -11136,9 +11141,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbAdbzWbsKbzRbvPbthbzBbzFbzHccgbzSbzVccgccgbAlbvObAnbAhbvMbAjbAkbYpbvJbyRbyObvIbyJbyMbyLbzDbyJbyJbvLbzpbznbzAcjcbfNbkjbqZbqZbqZbqZbywbqZbqZbqZbysbyrbiDbyvbqJbvobtDbiDbvabynbvnbwUbhebhFbhebiKbwWbwXbiGbuZbwZbyhbwFbwEbDBbwPbwRbwRbwRbwRbwRbwRbygbwRbwRbygbwRbyBbygbygbCEbCPburbyqbCEbyubxAbxAbxAbxCbxDbxAbxAbxAbxAbxAbxzbyabxZbVNbVObyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbAdbzWbsKbzRbvPbthbzBbzFbzHccgbzSbzVccgccgbAlbvObAnbAhbvMbAjbAkbYpbvJbyRbyObvIbyJbyMbyLbzDbyJbyJbvLbzpbznbzAcjcbfNbkjbqZbqZbqZbqZbywbqZbqZbqZbysbyrbiDbyvbqJbvobtDbiDbvabynbvnbwUbhebhFbhebiKbwWbwXbiGbuZbwZbyhbwFbwEbDBbwPbwRbwRbwRbwRbwRbwRbygbwRbwRbygbwRbyBbygbygbCEbCPburbyqbCEbyubxAbxAbxAbxCbxDbxAbxAbxAbxAbxAbxzbyabxZbVNbVObyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbsBbsBbsKbsMbsLbthbtlbszbsOccgbqvbqsbqubsAbqDbqwbyobyTbqQbqIbqKbqVbqUbeYbqSbsEbrMbrGbribsdbsebsdbsGbsubsjbjpbshbfNbkjbqZbqYbqWbqRbqXbqWbwcbqLbqPbqNbqxbppbqJbqJbsmbiDbsnbsobsibwUbhebrhbqCbiKbsfbsgbiGbrObrVbqAbiGbssbidbvKboNbrkbrkboNboJboGboibnRbnKbsabrWbrjbstbsvbxrbsrbxtbyjbxrbsqbspbqtbqqdfTdfTdfTdfTbsbbqtbqqdfTdfTbAEbnkbnmbnlbWWbvSbWYbWZbXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabpKbpLbpLbpPbjBbjBbjSbjSbqmbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbsBbsBbsKbsMbsLbthbtlbszbsOccgbqvbqsbqubsAbqDbqwbyobyTbqQbqIbqKbqVbqUbeYbqSbsEbrMbrGbribsdbsebsdbsGbsubsjbjpbshbfNbkjbqZbqYbqWbqRbqXbqWbwcbqLbqPbqNbqxbppbqJbqJbsmbiDbsnbsobsibwUbhebrhbqCbiKbsfbsgbiGbrObrVbqAbiGbssbidbvKboNbrkbrkboNboJboGboibnRbnKbsabrWbrjbstbsvbxrbsrbxtbyjbxrbsqbspbqtbqqdfTdfTdfTdfTbsbbqtbqqdfTdfTbAEbnkbnmbnlbWWbvSbWYbWZbXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabpKbpLbpLbpPbjBbjBbjSbjSbqmbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSFbSFbSFbSFbSFbSFbSFbuibujccgccgccgccgccgbukbuAbuKbuKbuKbuMbuNbYpbjqbjxbtsbjybttbtCbtubtEbtFbtGbfNbtVbtHbtObtWbfNbzIbqZbzxbzsbzsbzcbtMbkObqZbzbbyZbiDbtIbsZbqJbtDbiDbtAbtBbtzbwUbhebqHbtJbiKbsIbsNbiGbiGbiGbiGbiGbBPbidbidbidbfMcmHbBObGKbXObXPbXQbGKbrWbBNbBvbAJctibudbuhbFqbtUbudbYAbXRbXRbXRbYzbtjbzQbADbAIbyYbtxbyXdfTbXVbswbXXbyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaafaafbtrbtwbtmbtnbtybjBbjBbjSbmLbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSFbSFbSFbSFbSFbSFbSFbuibujccgccgccgccgccgbukbuAbuKbuKbuKbuMbuNbYpbjqbjxbtsbjybttbtCbtubtEbtFbtGbfNbtVbtHbtObtWbfNbzIbqZbzxbzsbzsbzcbtMbkObqZbzbbyZbiDbtIbsZbqJbtDbiDbtAbtBbtzbwUbhebqHbtJbiKbsIbsNbiGbiGbiGbiGbiGbBPbidbidbidbfMcmHbBObGKbXObXPbXQbGKbrWbBNbBvbAJctibudbuhbFqbtUbudbYAbXRbXRbXRbYzbtjbzQbADbAIbyYbtxbyXdfTbXVbswbXXbyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaafaafbtrbtwbtmbtnbtybjBbjBbjSbmLbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSFbSGcnjcngcnhcnQbSFdgmdgldgkdgjcrEcrCcrrcrrcrucEIcEIcEGcEJbAkbYpbjqbjxcnCbwMcnzctfcnBcnwcnxcnybfNbtVcnpcnqdTTbfNbkjbqZdZLdZOdZOdZMcEKbqZdYtdgpdZQbiDdZTdZRdZSdZHbiDdZGbtBcrVbwUbxPbtKbxQbiKdZKdZJbiKcrXbPwbiddgCbssdZVdZWbidbfMdWwdXGbGKaaaaafaaaaaabrWctuctjdgrdgqdgtdgscERcEPdgxdBXdDldCOdCOdEBdfQdfQdgBdQWdgodgodgndfTbYUcoebYWbYUaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcrLbEQbEQbFgbtybtybjBbjBbjBbjBbEOaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSFbSGcnjcngcnhcnQbSFdgmdgldgkdgjcrEcrCcrrcrrcrucEIcEIcEGcEJbAkbYpbjqbjxcnCbwMcnzctfcnBcnwcnxcnybfNbtVcnpcnqdTTbfNbkjbqZdZLdZOdZOdZMcEKbqZdYtdgpdZQbiDdZTdZRdZSdZHbiDdZGbtBcrVbwUbxPbtKbxQbiKdZKdZJbiKcrXbPwbiddgCbssdZVdZWbidbfMdWwdXGbGKaaaaafaaaaaabrWctuctjdgrdgqdgtdgscERcEPdgxdBXdDldCOdCOedhdfQdfQdgBdQWdgodgodgndfTbYUcoebYWbYUaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcrLbEQbEQbFgbtybtybjBbjBbjBbjBbEOaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaafaafaafbTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacmobSGbSGbSGbSGcmAbSFdfNdfMcDJcDzcqdcpVcDycpVcDxcpTcpScDpcDocpLcEecqwcmCdfPbgXbgXbgXbgXbgXbgXbgXbfNbfNcDKbfNbfNbfNbkjbqZbqZdZrdZsdZtdZubqZdfUcEfcqTbiDbkdbiDbiDbiDbiDbwUdZydZzbwUcqXcqWcqXbiKbXLdZBbiKbPybPybiddZDbssbidbidbidbfMcpWcmNbGKaaaaafaaaaaedfXdfVdfWdgbdgadfZcEpcEtcEscErdhUdhWdfQdfQdfQdgidsLdfQdfQdfQdfRdfSdfTcqQcmGbZVbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaafaafaafbTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacmobSGbSGbSGbSGcmAbSFdfNdfMcDJcDzcqdcpVcDycpVcDxcpTcpScDpcDocpLcEecqwcmCdfPbgXbgXbgXbgXbgXbgXbgXbfNbfNcDKbfNbfNbfNbkjbqZbqZdZrdZsdZtdZubqZdfUcEfcqTbiDbkdbiDbiDbiDbiDbwUdZydZzbwUcqXcqWcqXbiKbXLdZBbiKbPybPybiddZDbssbidbidbidbfMcpWcmNbGKaaaaafaaaaaedfXdfVdfWdgbdgadfZcEpcEtcEscErdhUedgedfdEBdsbdgidsLdfQdfQdfQdfRdfSdfTcqQcmGbZVbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacphbSGcpXbSGbSGcpRbSFcFVcFUcQKcFXcRqcRpcFMcFKcFkbqVbqVcFTbqVbqKcFIcFJbjxcpCcpDcpucpucpEdgZdhadgGdhbdhcdhddhedhfdgGbkjbEaeaxbMXbMXcFqeaweaDeaEdLbdPueazeaAcFreaeeaeeaudXBbwUbwUbwUcFocZLcFpbiKbiKbiKbiKbPybPybiddZDbsseareasbidbfMbGKbGKbGKaaaaafaaaaaadhqdhrdhsdhlcFndhmcWQdQScFldhidhhdfQdfQdfQdfQdhodhndfQdhpdfQdfRdghdfTcaycqbcaAbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacphbSGcpXbSGbSGcpRbSFcFVcFUcQKcFXcRqcRpcFMcFKcFkbqVbqVcFTbqVbqKcFIcFJbjxcpCcpDcpucpucpEdgZdhadgGdhbdhcdhddhedhfdgGbkjbEaeaxbMXbMXcFqeaweaDeaEdLbdPueazeaAcFreaeeaeeaudXBbwUbwUbwUcFocZLcFpbiKbiKbiKbiKbPybPybiddZDbsseareasbidbfMbGKbGKbGKaaaaafaaaaaadhqdhrdhsdhlcFndhmcWQdQScFldhidhhedidhWdfQdfQdhodhndfQdhpdfQdfRdghdfTcaycqbcaAbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacphbSGbSGbSGcpicoIcEVcsOcsNcvgcuVcsWbpIcsMcsEcsmcoycoEcoDdgFbAkbYpcpdcpbcpccFdcpfcFccpfdgIcoWdgGdgHcFbdgLdgJdgHdgGbkjbEaeabbMXbOsbMXeaaeageahcCNeajeaceadeaeeafeaeeandXBciZboNcDacEycExdgYcFGboNboNboNboNcEzbidbidbidbidbidbidbfMbGKaafaafaafcbfaafaafdgRdgPdgQdgQdgQccQbudcCKcyldgTdTMdgMdgMdgMdgXdgWdgWdgVdgMdgMcFedgOdfTcbjcFfcblbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacphbSGbSGbSGcpicoIcEVcsOcsNcvgcuVcsWbpIcsMcsEcsmcoycoEcoDdgFbAkbYpcpdcpbcpccFdcpfcFccpfdgIcoWdgGdgHcFbdgLdgJdgHdgGbkjbEaeabbMXbOsbMXeaaeageahcCNeajeaceadeaeeafeaeeandXBciZboNcDacEycExdgYcFGboNboNboNboNcEzbidbidbidbidbidbidbfMbGKaafaafaafcbfaafaafdgRdgPdgQdgQdgQccQbudcCKcyldgTdTMdgMdgMdgMdgXdgWdgWdgVdgMdgMcFedgOdfTcbjcFfcblbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecNOcnicIfbTecHYcnfcHWbTecGvcnccGubTeaaaaafcphcrdbSGbSGcqqbWbbSFcOGdPVcvgcvgdPTcvgcvgcvgcvgcrzbYpcrxcrybAkbYpdRPcrlbyOcOncricrkcricOwcrqcOxdhLdhGcOodgGdgGdgGbkjbEadhOebrdBIebpebqebiebjdQhebhebmebnebkdBNebcdhNebadQabJNebfdQedQddhMbCTbyDbXPbXQbGKbvKboNboNboNboNboNboNciNbGKaaaaaaaaaaafaaaaaabrWecHecIecGdhTbuddQidQSdQRdfTdhVdYIdYIdYIdhPcvudhQdhSdYIdYIdYIdhYdfTdhXcrNcccccdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecNOcnicIfbTecHYcnfcHWbTecGvcnccGubTeaaaaafcphcrdbSGbSGcqqbWbbSFcOGdPVcvgcvgdPTcvgcvgcvgcvgcrzbYpcrxcrybAkbYpdRPcrlbyOcOncricrkcricOwcrqcOxdhLdhGcOodgGdgGdgGbkjbEadhOebrdBIebpebqebiebjdQhebhebmebnebkdBNebcdhNebadQabJNebfdQedQddhMbCTbyDbXPbXQbGKbvKboNboNboNboNboNboNciNbGKaaaaaaaaaaafaaaaaabrWecHecIecGdhTbuddQidQSdQRdfTdhVdYIdYIdYIdhPcvudhQdhSdYIdYIdYIdhYdfTdhXcrNcccccdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaafaafbTecqocdMcqpbTecdWcdMcdXbTecdLcdMcdNbTeaaaaafcqrbSGbSGbSIcqqcqybSFdPAdPvcqvcFxcFwcFvcFRcFRcGlcGjcFRcFAcFzbAkbAkbjqcqIcqJcpDcqCcqCcqHdhBdhCdgGdhAdhydhzdhwdhxdgGcGmbEadhDcGqdCpeaOeaPbEaeaFdPDeaHdXBeaIeaJdCqcGtdhEdXBbfMbPydXFeaUeaTeaQdXFaaaaaaaaabGKbGKbGKbXObXPbXPbXQbGKbGKbGKaaaaaaaaabudbudbudbudbudbudbudbudbuddPHdPSdPPdfTdfTbZPbOwcdqdfTdfTdfTdfTcoTbOwcdqdfTdfTccSdhFccSaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaafaafbTecqocdMcqpbTecdWcdMcdXbTecdLcdMcdNbTeaaaaafcqrbSGbSGbSIcqqcqybSFdPAdPvcqvcFxcFwcFvcFRcFRcGlcGjcFRcFAcFzbAkbAkbjqcqIcqJcpDcqCcqCcqHdhBdhCdgGdhAdhydhzdhwdhxdgGcGmbEadhDcGqdCpeaOeaPbEaeaFdPDeaHdXBeaIeaJdCqcGtdhEdXBbfMbPydXFeaUeaTeaQdXFaaaaaaaaabGKbGKbGKbXObXPbXPbXQbGKbGKbGKaaaaaaaaabudbudbudbudbudbudbudbudbuddPHdPSdPPdfTdfTbZPbOwcdqdfTdfTdfTdfTcoTbOwcdqdfTdfTccSdhFccSaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -12055,7 +12060,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdrgdrhdqTdqTdqTdqTdqTdqTdridridridrjdrkdrcdqTdqTdqTdrlduvduUduUduXdrpdrqdrrdrsdrsdqXdrsdrtdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdrgdrhdqTdqTdqTdqTdqTdqTdridridridrjdrkdrcdqTdqTdqTdrlduvduUduUduXdrpdrqdrrdrsdrsdqXdrsdrtdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrhdqTdqTdqTdqTdqTdqTdqTdridrwdrxdrydrjdrkdrzdridrAdrBdrCdrDdrDdrDdrEdrFdrDdrDdrDdrDaafdrGdrHdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrhdqTdqTdqTdqTdqTdqTdqTdridrwdrxdrydrjdrkdrzdridrAdrBdrCdrDdrDdrDdrEdrFdrDdrDdrDdrDaafdrGdrHdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJduYdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJduYdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJdsbdscdvAechdsedsedseeciecjdrTdshdsieckdrEdrEecldsidshdrDaafaafecgdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJedjdscdvAechdsedsedseeciecjdrTdshdsieckdrEdrEecldsidshdrDaafaafecgdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTeaYeaXdsvdsvdsvdsvdsvdsvdqtdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTeaYeaXdsvdsvdsvdsvdsvdsvdqtdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdqsdsGdsHdsIdsJdsKedcedbdDkdrTdsOdsPdrTdqmdqldsvdqkeaVeaWeaSdqpdqndsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdqsdsGdsHdsIdsJdsKedcedbdDkdrTdsOdsPdrTdqmdqldsvdqkeaVeaWeaSdqpdqndsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkedddEAdEedEddEgebsdEidqIdqKebtebldqCebodqGdqHdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkedddEAdEedEddEgebsdEidqIdqKebtebldqCebodqGdqHdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
|||||||
Reference in New Issue
Block a user