Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna

# Conflicts:
#	code/modules/mob/living/carbon/human/species/station.dm
#	icons/mob/screen_alert.dmi
This commit is contained in:
Markolie
2017-01-11 23:11:29 +01:00
97 changed files with 1104 additions and 845 deletions
+40 -41
View File
@@ -68,7 +68,7 @@
"bp" = (/obj/structure/lattice,/turf/space,/area/space)
"bq" = (/obj/effect/mine/dnascramble,/obj/item/ammo_box/c10mm,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"br" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/awaymission/wwrefine)
"bs" = (/turf/simulated/wall/mineral/sandstone,/area/awaymission/wwmines)
"bs" = (/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"bt" = (/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
"bu" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow"; icon_state = "fwindow"},/turf/space,/area/space)
"bv" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
@@ -195,10 +195,10 @@
"dM" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"dN" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaymission/wwmines)
"dO" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dP" = (/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dP" = (/obj/item/weapon/reagent_containers/food/snacks/donut,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dQ" = (/obj/item/weapon/reagent_containers/food/drinks/coffee,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dR" = (/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dS" = (/obj/item/weapon/reagent_containers/food/snacks/donut/normal,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dS" = (/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dT" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"dU" = (/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
"dV" = (/obj/structure/lattice,/obj/structure/window/reinforced{tag = "icon-fwindow (NORTH)"; icon_state = "fwindow"; dir = 1},/turf/space,/area/space)
@@ -228,7 +228,6 @@
"et" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand12"; icon_state = "ironsand12"},/area/awaymission/wwgov)
"eu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/gun/projectile,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"ev" = (/obj/effect/decal/cleanable/blood,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor/wood,/area/awaymission/wwmines)
"ew" = (/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly,/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ex" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/blood/gibs/body{tag = "icon-gibdown1"; icon_state = "gibdown1"},/turf/simulated/floor/carpet,/area/awaymission/wwmines)
"ey" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/ironsand{tag = "icon-ironsand7"; icon_state = "ironsand7"},/area/awaymission/wwgov)
"ez" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/wwrefine)
@@ -582,48 +581,48 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbabababababaaUaLaRaRaXaRaRbhbhbhbnbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaXaRaRaRaRaRaLaLaLaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaIaUbababobababfaUaLaRaRaRaRaRbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaIaUaUbabababfbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbqbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaabpbpbpbpbpbpbpbpbpbpaabpaabpbpbpbpaaaaaabpbpbpbpbpbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbrbabababababaaUaLaRaRaRaRaRbkbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbtbububububububtbtbtbtbtbububtbtbtbubtbtbtbtbubububububtbtbtbtbtaabpaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbsbvbwbwbxbwbwbwbsbybzeSbzbBbsaRbhbhbCbhaRbsbDbDbDfQbDbDbDgEbBbBbEcebFbGbBgFbhbhbhbhgGbwbwbHgHbJbwbKbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbLbMbNbObObObObObObObObObObObObObObObObObObObObObObObObObObObObPbMbQaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaIaUbabababfbababaaUaLaRaRaRaRaRbhbhbhbhaRbsgIbRbwbwbwbSgJbsbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDbDbDbDbDbhbhbhbhbhbhbhbhbhbhbhbhbhbhbwbwbwbwbwbwbwbsaRbhbhbhbhaRaXaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTbUbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbXbQaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbfbababababfbaaUaLaRaWaRaRbdbhbhbhbhaRbsbwbwbwbwbwbwbwbsbhbhbhbhbhbsaRbhbkbhbhaRbsbDbDbDbDbDbDbDbBbBbBbBbBbBbBbAbBbYbBbBbBbZbwbwbwbwcabwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaRaLaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVccbQaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbkbhaRbsgIbRcdbwbwbSgJbsbsbsbsbscfbsaRbhbnbhbhaRbsgKcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbwbwbwbwbwbwgJbsaRbhbhbCbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMcjcjcjcjcjcjbMckclgLclclckgMclckckgLckclbMcmcngNcncpbMbVcccqaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababmaUaLaRaRaRaRaRbibhbhbhaRbsbwbwbwbwbwbwbwcfbhbhbhbhbhbsaRbhbhbhbhaRbsbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaLaLaRaLaIaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMckckckclckckbMckctctctctcuctcuckcvcvclckbMcncncncncnbMbWcccqaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaIaUbabmbabmbababaaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbsbsbsbsbhbhbhbhgObsaRbhcwbhbhaRbsbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbwbwbwbwbwbwbwbsaRbhbhbhbhaRaRcxaRaRaRaRaRaRaRaRaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpbLcbbVbMgQczckckckgRbMgScuctctctctctctcAckckckgRbMgTcncBcCgUbMbVcccqbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhgVbhbhbhgVbhbhbhbhbhbhbsaRbhbhbhbhaRbsbBbBbBbBbBbBbBbBbhbhbhgWbsgXgObsgXbhbhbhbBbBbBcEcFbBbBbBbsaRbkbhbnbhaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabTcbbVbMcGcHckckcIckcJckctctctctcKctctcAckckckckbMcncncncncnbMbWccbQaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaIaUbfbabababababaaUaLaRaRaRaRaRbhbibhbhaRbscDbhbhbsbsbhbhbsbsbhbhbsbsbsaRbhbhbhbhaRbsbhcicicicicicibhbhbhbhbhgVbhbhgVbhbhbhbhbhcicicicicicibhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaWaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabTcLbVbMcyczckckckckbMckctctctctctctctcMckckckckcJcncncncncnbMbVcNbQaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaIaUbabfbacObababaaUaLaRaYaRaRaXbhbhbhbhaRbscDbCbhcDbsbhbhbsbhbhbhbhbhbsaRbhbhbhbhaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhaRaRaRaXaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabLbMbVbMckckckckckckbMckctctcPctctctctcMckckckckbMcncQcRcScnbMbVbMbQaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaRbscDbhbhcDbsbhbhbsgYbhbhbhgZbsaRbhbhbhbkaRbscVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaacrbpbLcXbVbMgSckcIckclgRbMgSctctctctctctctcMckckckgRbMhacncYcngUbMbVcZbQaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaIaIaUbababababfbabaaUaLaRaRaRaRaRbhbhbkbhaRbscDbhgPcDbsbhbhbscTbhbhbhcUbsaRbkbhbhbhaRbsbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbsaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpbpaabTcbbVbMckckckckckclbMckcuctdactctctctckckckckckbMcncncncncnbMbVccbQbpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaIaUaUbabababababadbaUaLaRaRaRaRaRbhbhbhbhaRbsbsbsbsbsbscfcfbsbsdcdcbsbsbsaRbhbhbjbhaRbsbsbsbsdcdcdcbsbsbsbsbsbsbsdddebsbsbsbsbsbsbsdcdcdcbsbsbsbsaRcwbhbkbhaRaRaRaYaRaRaRaRaRaRaRaRaRaLaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaabpbpbpbpbpbpbpbpbpbpaabpaabpbpbpbpaaaaaabpbpbpbpbpbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbrbabababababaaUaLaRaRaRaRaRbkbhbhbhaReXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaRbhbhbhbhaReXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaabpbtbububububububtbtbtbtbtbububtbtbtbubtbtbtbtbubububububtbtbtbtbtaabpaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaReXbvbwbwbxbwbwbweXbybzeSbzbBeXaRbhbhbCbhaReXbDbDbDfQbDbDbDgEbBbBbEcebFbGbBgFbhbhbhbhgGbwbwbHgHbJbwbKeXaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbLbMbNbObObObObObObObObObObObObObObObObObObObObObObObObObObObObPbMbQaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGaIaUbabababfbababaaUaLaRaRaRaRaRbhbhbhbhaReXgIbRbwbwbwbSgJeXbhbhbhbhbheXaRbhbhbhbhaReXbDbDbDbDbDbDbDbhbhbhbhbhbhbhbhbhbhbhbhbhbhbwbwbwbwbwbwbweXaRbhbhbhbhaRaXaRaRaRaRaRaRaRaRaRaRaRaLaLaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTbUbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbVbWbVbVbVbVbVbVbVbVbVbXbQaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbfbababababfbaaUaLaRaWaRaRbdbhbhbhbhaReXbwbwbwbwbwbwbweXbhbhbhbhbheXaRbhbkbhbhaReXbDbDbDbDbDbDbDbBbBbBbBbBbBbBbAbBbYbBbBbBbZbwbwbwbwcabwbweXaRbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaRaLaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVccbQaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbkbhaReXgIbRcdbwbwbSgJeXeXeXeXeXcfeXaRbhbnbhbhaReXgKcgbDbDchcgbDbBcicicicicicicicibhbhbhbhbBbwbwbwbwbwbwgJeXaRbhbhbCbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMcjcjcjcjcjcjbMckclgLclclckgMclckckgLckclbMcmcngNcncpbMbVcccqaaaaaaaaaaaabpcrbpaaaaaaaaaaaaaaaaaaaGaGaIaUbababababababmaUaLaRaRaRaRaRbibhbhbhaReXbwbwbwbwbwbwbwcfbhbhbhbhbheXaRbhbhbhbhaReXbDbDbDcsbDbDbDbBbhbhbhbhbhbhbhbhbhbhbhbhbBbwbwbwbwbwbwbweXaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaLaLaRaLaIaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbTcbbVbMckckckclckckbMckctctctctcuctcuckcvcvclckbMcncncncncnbMbWcccqaaaaaaaaaabpbpbpbpbpbpaaaaaaaaaaaaaaaGaGaIaUbabmbabmbababaaUaLaRaRaRaRaRbhbhbhbhaReXeXeXeXeXeXeXeXeXbhbhbhbhgOeXaRbhcwbhbhaReXbDbDbDbDbDbDbDbBbhbhbhbhgPbhbhgPbhbhbhbhbBbwbwbwbwbwbwbweXaRbhbhbhbhaRaRcxaRaRaRaRaRaRaRaRaLaLaLaLaIaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpbLcbbVbMgQczckckckgRbMgScuctctctctctctcAckckckgRbMgTcncBcCgUbMbVcccqbpbpaabpbpbpaaaaaabpbpbpbpaaaaaaaaaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaReXcDbhgVbhbhbhgVbhbhbhbhbhbheXaRbhbhbhbhaReXbBbBbBbBbBbBbBbBbhbhbhgWeXgXgOeXgXbhbhbhbBbBbBcEcFbBbBbBeXaRbkbhbnbhaRaRaRaRaRaRaRaRaRaRaRaRaLaLaLaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabTcbbVbMcGcHckckcIckcJckctctctctcKctctcAckckckckbMcncncncncnbMbWccbQaacrbpbpaaaaaaaaaaaaaaaabpbpbpaaaaaGaGaGaIaUbfbabababababaaUaLaRaRaRaRaRbhbibhbhaReXcDbhbheXeXbhbheXeXbhbheXeXeXaRbhbhbhbhaReXbhcicicicicicibhbhbhbhbhgVbhbhgVbhbhbhbhbhcicicicicicibheXaRbhbhbhbhaRaRaRaRaRaRaRaRaWaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabTcLbVbMcyczckckckckbMckctctctctctctctcMckckckckcJcncncncncnbMbVcNbQaabpaaaaaaaaaaaaaaaaaaaaaaaabpaaaGaGaGaGaIaUbabfbacObababaaUaLaRaYaRaRaXbhbhbhbhaReXcDbCbhcDeXbhbheXbhbhbhbhbheXaRbhbhbhbhaReXbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbheXaRbhbhbhbhaRaRaRaXaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpaabLbMbVbMckckckckckckbMckctctcPctctctctcMckckckckbMcncQcRcScnbMbVbMbQaabpaaaaaaaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaUbababababababaaUaLaRaRaRaRaRbhbhbhbhaReXcDbhbhcDeXbhbheXgYbhbhbhgZeXaRbhbhbhbkaReXcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbhcVbBcWbheXaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaacrbpbLcXbVbMgSckcIckclgRbMgSctctctctctctctcMckckckgRbMhacncYcngUbMbVcZbQaabpbpaaaaaaaaaaaaaaaaaaaGaGaGaGaGaGaGaIaIaUbababababfbabaaUaLaRaRaRaRaRbhbhbkbhaReXcDbhgPcDeXbhbheXcTbhbhbhcUeXaRbkbhbhbhaReXbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbhbhbhbhhbbheXaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpbpaabTcbbVbMckckckckckclbMckcuctdactctctctckckckckckbMcncncncncnbMbVccbQbpbpbpbpaaaaaaaaaaaaaaaaaGaGaGaGaGaGaIaIaUaUbabababababadbaUaLaRaRaRaRaRbhbhbhbhaReXeXeXeXeXeXcfcfeXeXdcdceXeXeXaRbhbhbjbhaReXeXeXeXdcdcdceXeXeXeXeXeXeXdddeeXeXeXeXeXeXeXdcdcdceXeXeXeXaRcwbhbkbhaRaRaRaYaRaRaRaRaRaRaRaRaRaLaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMckdgclckckckbMckckhcckckckhccIckckhcckckbMdhdhhddjdjbMbVcccqbpaaaabpbpbpbpaaaaaaaGaGaGaGaGaGaGaGaIaUaUbfbmbabababmbabaaUaLaRaRaRaRaRbhbhbhbhaRaRaRaRaRaRhedkaRheaRaRaRaRaRaRaRbhbhbhbhaRaRaRaRheaRaRaRheaRaRaRaRaRheaXdkheaRaRaRaRaRheaRaRaRheaRaRaRaRbhbhbhbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbMbMbMbMbMbMbMbMbMbMbMcJcJbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbVcccqaaaaaaaaaaaabpbpbpaGaIaIaIaIaIaIaIaIaIaUaZbabababababababfaUaLaRaRaRaRaRbhbhbibhbhbhbhbhbhbhbhdlbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdmbhbhbhbhbhdlbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhbjbhbhbhaRaRaRaRdnaRaRaRaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbVbVbVbVdobVbVbVhfbVbVhfbVbVbVbVbVbVbVbVbVbVbVbVbVbVdocccqbpaaaaaaaaaaaaaaaGaGaIaUaUaUaUaUaUaUaUaUbabababababfbaaUaUaUaLaRaRaRaRaRbhbhdpbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhcwbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhaRaRaRaRaRaRaRaXaRaRaRaRaRaLaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVdobVbVbVbVbVbVbVbVbVbVbVdqbVbVbVbVbVbVdobVbVbVdrbVbVbVbVbVccbQbpaaaaaaaaaaaaaaaGaGaIaUaZbabmbababfbabababababababmbaaUaNaLaLaRaRaRaRaRbibhbhbhbhbhbhbhbhbhbhbhbhbhbhbibhbhbhbhbhbhbhbhbhbhbhbhbhbkbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbjbhbhcwbhbkbhbhbhbhbhbhbhbkbhaRaRaRaRaRaRaRaRaRaRaRaRaRaRaLaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMbMbMbVbVbVbVbVbVbVbWbVbVbVbVbVbVdqbVdrbVbVbVbVbWbVbVccbQbpaaaaaaaaaaaaaGaGaGaIaUbababababababababmbababfbaaUaUaUaLaLaRaRaWaRaRaRbqbhbhbhbhbhbhbnbhbhbhbhbhbhbhdlbhbkbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhdlbhbhbhbhbhbhbhbhbhbhbhbhbhbhbnbhbhbhbhaRaRaRaRhgaRaRhgaRaRaRaRaRaLaLaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMdsbMbVbVbVdrbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdtbVbVbVccbQbpbpaaaaaaaaaaaGaGaGaIaUbabfbababablbabababababaaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRhgdkaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhdpbhbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsdcdcbsbsbsbsbsaLaLaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpbpaadfcbdrbVbVbMdubMbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdobVbVdrbVbVbWbVccbQbpbpbpaaaaaGaGaGaGaGaIaUbabababababababababfbabaaUaNaNaLaLaRaRaRaRaRaRaRaWaRaRaRaRaRaRbsbsbsbsbsbsbsbscfbsbsbsbsbsbsbsaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsaRbjbhbhbhbsbhbhbhgVbhbhgVbibhbhbsdvhhdvdvdvbhdvbsbhbhgVbhbhbhgVbhbhbsaLaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpdfcLbVbVbVbVbVhfbVbVbVbVbVbVbVbVbVbVbVdwbVbVbVbVbVbVbVbVbVbVbVbVcNbQbpaabpbpbpaGaGaGaGaGaIaUbmbabababfbabababaaUaUaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbwhibwbwhibwbsbhbshjbwbwbwbwbsaRaRbsbhdygVdybhdybhdygVdybhbsaRbhbhbhbhbsbhbDdzbDdAdBbDbDbDbhdCbhbhbhbhbhbhbhbsdDcwdEbhbjbhdFdGbhdHaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMdIdJdJdJdJdJdJdJdJdJdJdKdLdLdIdJdJdJdJdJdJdJdJdJdJdJdJdJdJdKbMbQbpaaaabpaGaGaGaGaGaGaIaUbababababababmbabaaUaNaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwbwbwdNbsbhbsdxbwbwbwbwbsaRaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbkbhbhbhbsbhbDdOdPdQdRdSdTbDbhbsbhbhbhbhdGbhbhbsbBbhdEbhbhbhdFbhbhbsaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpaadUdUdUdUdUdUdUdUdUdUdUdVdWdXdYdZdUdUdUdUdUdUdVdUdUdUdUdUdUdVdUdUbpcraaaabpbpbpaGaIaIaIaIaUbbbbaUaUaUaUbabmaUaUaNaNaLaLaRaRaRaRaXaRaRaRaRaReaaRaRaXaRaRaRbsdMbxebbwbwdNbsgObsecbwebbwbwbsaRaRbsbhdybhdybhdybhedbhdybhbsaRbhbhbhbhbsgXbDeedQbDbDdQefdzgObsdvbhbhbhbhbhbhbsdDbhdEbhbhcwdFbhbhdHaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdfeheibQaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraIaIejejejejekekejejejaUaUaUaUaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMbwbwelbwdNbsbhbsdxbwbwbxbwbsaRaRbsgXbhbibhbhbhbhbhbhbhgObsaRbhbhbhbhbsbhbDdOdSbDbDdSdTembhbsdvdvbhbhbhhkbhdCbhbhbhdGbhbhdFbhbhbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadfeneobQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejepeqerekekekekejejejejaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsdMhlbwbwhldNbsbhbshjbwbwbwbwbsaRaRbsbhbhbhbhbhbCbhbhbhbhbhcfaRbhbhbnbhbsbhbDeedRbDbDdRefbDbhbsbsbsbsbsbsbsbsbsbhesesesesbhdFbhbhdHaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfdXetbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaRbsbsbsbwbwbsbsbscfbsbsbwbwbsbsbsaWaRbsbheubhdybhdybhevbhdybhbshmbhbhbhbhbshnbDdOdQbDbDewexbDgObsbyhobybybyhobybsbhdDhpbBdDbhgPbhbhbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeheybQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbhbhbhbhbhbhbhbhbhbhbhbhbhbsdkaRbsgXbhbhbhbhbhbhbhbhbhgObsaRbhdpbhbhbsbhbDeedSdQdPdRefeAbhbsbhbhbhbhbhbhbhbsbsbsbsbsbseBbsbsbsbsaLaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeCdYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeFeGekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbsbhbheHbhbsbsbsbsbsbsbhbhbhbhbsdkaWbsbhdybhevbhdybhdybhdybhbsaRbhbhbhbhbsbhbDbDbDeIeJeKbDbDbhdCbhcwbhbhbjbhbhdCeLhqeMeNeOeOePhreLbsaLaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeQbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaXaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsgXbhbhbhbhhshshshsbhbhbhbhgObsdkaRbsbhbhbhbhbhbhbhbhbhbhbhbsaRbhbhbhbhbsbhbhbhgPbhbhgPbhbhbhbsbhbhbhbhbhbhbhbseLeLeLeTeUeVeLeLeLbsaLaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfendYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeEeWekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRbsbhbhbhgPdpbibhbhbhbhgPbhbhbhbsdkaRbsbhbhgPbhbhbhbhbhgPbhbhbsaRbhbhbhbhbsbsbsbsbseXeXbsbsbsbsbsbsbsbsbsbsbsbsbseLeLeYeLeLeVeLeLhtbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeibQaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRbdaRaRaRaNaNaNaRaRaRaRbsfabsfabsfabsfabsbsfabsfabsfbbsaRaXfcbsbsbseBbsbsbsbsbsbsbsbsaRbhbhcwbhfdfebhgVbBbhbhbsbhbhgVbhbhbsbhbhgVbhbhbsffeLfgeLffeLfgeLeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabtbtbtbtbtbtbtbtbtbtbtbtbtbtfhdLdLfibtbtbtbtbtbtaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRbsbsbsbsbsbsbsbsbsbsbsfcbsbsbsbsaRaRfkaRaWaRaRaRaRflaRaWaRaRaRaRbhbhbhgObshubhbhbBfmbhbsbhfnbBfmbhbsbhfobBfpbhbseLeLeLfqeLeLeLfqeLbsaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfrfsfsfsfsfsfsfsfsfsfsfsfsfsfsftftfsfsfsfsfsfsfufvbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekfwekekekekekejaNaLaLaPaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReaaWfxfcbsbsbsbsbseBbsbsbsbsbsbsaRbjbhbhfycfbhbhbhbBbhbhbsbhbhegbhbCbsbjbhbhbhbhbsdcdcdcbsdCbseLfzeLbsaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaRaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsfcdkbsfDbhbhbhbhgVbhbhbhbhbhbsaRbhfEbhbhcfbhbhbhbBfmgObsbhfnbBfmbjbsbhfobBfpbhbsbhbhbhbhbhdceLeLhtbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfFfFfGfHfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekfJekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaPaRaNaNaNaNaNaNaNaRaRaRaRaRaRbsfKbhbhbhbhgVbhbhbhbhbhbsdkeBbhbhbhbhdpcwbhbhbhbhbhddaRbhbjbhgObshubjbhbBbhbhbsgXbhbBbhgObsgXcwfLbhgObsbsbsbsbhbhdceLfMeLbsaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaRaRaRaRaRaRbsbhbhbhbhbjbhfObhbjdGbhbsflbsbhbhdGbhbhbhbhbhbhcwbhbshmbhfPbhbhbsfebhbhbBbhbhbsbhfnbBfmbhbsbhfobBfpbhbshvbhbshnbhdceLeLeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftfSftftftftftftftftftftftftftftftftftfsfsfTfHfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaLaLaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLfUaLaLaRaRaRaRaRbsbhbhbhbhbhfPfVdpbhfWbhcfaRbsgXbhbhbhbhbhfRbhbhbhgObsdnbhbhbhbheBfXbhbhbBfmgObsbhbhbhbhbhbsbhbhbhbhbhbsfYbhcfbhbhdceLfZeLbsaLaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaLaPaRaRaLaLaLaLaRaRaRaRaRaRaRaRdnaRaRaRaLaLaLaRaRaRaRbsgXdpbhbhbhbhbhbhgabhgOeBhmbsbhbhbhbhbhbhdpbhbhdGbheBaRbhbhbhbhbsfebhbhbBbhbhbsbsbscfbseBbsbsbscfbsbsbsbseBbsbhbhdceLeLhtbsaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaReaaRaLaLaLaRaRaRbsbhbhbjbhbnbhbhdpbhbhbhbsaWbsbhbhcwbhbhbhbibhbhbhbhbsaRaRaRaRaRbsgXbhcwbBbBbhbsbhbhbjbhbhcwbhbhbhbhbhbhbhbhbhbjbhbseLfMeLbsaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaGaNaNaLaLaRaRaRaRaRaLaLaLfUaRaRaRaRaRaRaRaRaRaLaLaRaRbsbhbhbhbhbhbhbhbhdGbhbhbsaRbsbhbhbhgPbhbhgPbhbhbhbhfcaRaXaRaRaRbsbhbhgPbhbhcwcfbhbhgPbhdGbhbhbhgPbhbhfPcwbhgPbhbhbseLeLeLbsaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftgdftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejgeeEeWeRgfggezgeeEghejejejaGaNaNaLaRaRaRaRaRaRaLaLaLaLaLaLaLaRaRaReaaRaRaRaLaLaLbsbsbsbsbsfcaRbsbsbsbsbsbsaRbsbsbsbseBdcdcbsbsbsbsbsbsaRaRaRaRaRbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsbsaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaaaGaGaGaGaNaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaRaRaRaRaRfUaLaLaRaRaRaRaRaRfcbsbsaRaRaRaRaRaRaRaRheaRaRheaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpaaaadfcbbVbVbVbMdsbMbVbVbVdrbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdtbVbVbVccbQbpbpaaaaaaaaaaaGaGaGaIaUbabfbababablbabababababaaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRhgdkaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRbhbhdpbheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXdcdceXeXeXeXeXaLaLaNaGaGaGaGaaaaaaaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabpbpaadfcbdrbVbVbMdubMbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVbVdobVbVdrbVbVbWbVccbQbpbpbpaaaaaGaGaGaGaGaIaUbabababababababababfbabaaUaNaNaLaLaRaRaRaRaRaRaRaWaRaRaRaRaRaReXeXeXeXeXeXeXeXcfeXeXeXeXeXeXeXaRaReXeXeXeXeXeXeXeXeXeXeXeXeXaRbjbhbhbheXbhbhbhgVbhbhgVbibhbheXdvhhdvdvdvbhdveXbhbhgVbhbhbhgVbhbheXaLaNaNaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpdfcLbVbVbVbVbVhfbVbVbVbVbVbVbVbVbVbVbVdwbVbVbVbVbVbVbVbVbVbVbVbVcNbQbpaabpbpbpaGaGaGaGaGaIaUbmbabababfbabababaaUaUaUaUaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXbwhibwbwhibweXbheXhjbwbwbwbweXaRaReXbhdygVdybhdybhdygVdybheXaRbhbhbhbheXbhbDdzbDdAdBbDbDbDbhdCbhbhbhbhbhbhbheXdDcwdEbhbjbhdFdGbhdHaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpdfbMdIdJdJdJdJdJdJdJdJdJdJdKdLdLdIdJdJdJdJdJdJdJdJdJdJdJdJdJdJdKbMbQbpaaaabpaGaGaGaGaGaGaIaUbababababababmbabaaUaNaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXdMbwbwbwbwdNeXbheXdxbwbwbwbweXaRaReXbhbhbhbhbhbhbhbhbhbhbheXaRbkbhbhbheXbhbDdObsdQdRdPdTbDbheXbhbhbhbhdGbhbheXbBbhdEbhbhbhdFbhbheXaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpaadUdUdUdUdUdUdUdUdUdUdUdVdWdXdYdZdUdUdUdUdUdUdVdUdUdUdUdUdUdVdUdUbpcraaaabpbpbpaGaIaIaIaIaUbbbbaUaUaUaUbabmaUaUaNaNaLaLaRaRaRaRaXaRaRaRaRaReaaRaRaXaRaRaReXdMbxebbwbwdNeXgOeXecbwebbwbweXaRaReXbhdybhdybhdybhedbhdybheXaRbhbhbhbheXgXbDeedQbDbDdQefdzgOeXdvbhbhbhbhbhbheXdDbhdEbhbhcwdFbhbhdHaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaabpbpbpbpdfeheibQaaaaaaaaaaaabpbpbpbpbpbpbpbpbpbpbpbpbpaaaaaacraIaIejejejejekekejejejaUaUaUaUaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXdMbwbwelbwdNeXbheXdxbwbwbxbweXaRaReXgXbhbibhbhbhbhbhbhbhgOeXaRbhbhbhbheXbhbDdOdPbDbDdPdTembheXdvdvbhbhbhhkbhdCbhbhbhdGbhbhdFbhbheXaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpaaaaaaaaaaaabpbpaaaaaadfeneobQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpejejejepeqerekekekekejejejejaNaNaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXdMhlbwbwhldNeXbheXhjbwbwbwbweXaRaReXbhbhbhbhbhbCbhbhbhbhbhcfaRbhbhbnbheXbhbDeedRbDbDdRefbDbheXeXeXeXeXeXeXeXeXbhesesesesbhdFbhbhdHaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpbpbpbpbpbpbpbpaaaaaaaadfdXetbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaXaRaRaRaReXeXeXbwbweXeXeXcfeXeXbwbweXeXeXaWaReXbheubhdybhdybhevbhdybheXhmbhbhbhbheXhnbDdOdQbDbDdSexbDgOeXbyhobybybyhobyeXbhdDhpbBdDbhgPbhbheXaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeheybQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaezekekekekekekekekekekekekejaNaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXbhbhbhbhbhbhbhbhbhbhbhbhbhbheXdkaReXgXbhbhbhbhbhbhbhbhbhgOeXaRbhdpbhbheXbhbDeedPdQbsdRefeAbheXbhbhbhbhbhbhbheXeXeXeXeXeXeBeXeXeXeXaLaNaNaGaGaGaGaaaaaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfeCdYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeFeGekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReXbhbheHbheXeXeXeXeXeXbhbhbhbheXdkaWeXbhdybhevbhdybhdybhdybheXaRbhbhbhbheXbhbDbDbDeIeJeKbDbDbhdCbhcwbhbhbjbhbhdCeLhqeMeNeOeOePhreLeXaLaNaNaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeQbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeRekekeRekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaXaRaRaRaRaRaRaNaNaRaRaRaRaRaReXgXbhbhbhbhhshshshsbhbhbhbhgOeXdkaReXbhbhbhbhbhbhbhbhbhbhbheXaRbhbhbhbheXbhbhbhgPbhbhgPbhbhbheXbhbhbhbhbhbhbheXeLeLeLeTeUeVeLeLeLeXaLaNaNaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfendYbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeDeEeEeWekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaReXbhbhbhgPdpbibhbhbhbhgPbhbhbheXdkaReXbhbhgPbhbhbhbhbhgPbhbheXaRbhbhbhbheXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeLeLeYeLeLeVeLeLhteXaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadfdXeibQaaaaaaaaaaaaaaaaaaaaaabpbpaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaNaNaNaLaRaRaRaRaRaRaRaRbdaRaRaRaNaNaNaRaRaRaReXfaeXfaeXfaeXfaeXeXfaeXfaeXfbeXaRaXfceXeXeXeBeXeXeXeXeXeXeXeXaRbhbhcwbhfdfebhgVbBbhbheXbhbhgVbhbheXbhbhgVbhbheXffeLfgeLffeLfgeLeLeXaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaabtbtbtbtbtbtbtbtbtbtbtbtbtbtfhdLdLfibtbtbtbtbtbtaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaNaLaLaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaReXeXeXeXeXeXeXeXeXeXeXfceXeXeXeXaRaRfkaRaWaRaRaRaRflaRaWaRaRaRaRbhbhbhgOeXhubhbhbBfmbheXbhfnbBfmbheXbhfobBfpbheXeLeLeLfqeLeLeLfqeLeXaLaNaNaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfrfsfsfsfsfsfsfsfsfsfsfsfsfsfsftftfsfsfsfsfsfsfufvbpbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaejekekekekekekfwekekekekekejaNaLaLaPaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaNaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaReaaWfxfceXeXeXeXeXeBeXeXeXeXeXeXaRbjbhbhfycfbhbhbhbBbhbheXbhbhegbhbCeXbjbhbhbhbheXdcdcdceXdCeXeLfzeLeXaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpbpbpaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaRaNaNaRaRaRaRaRaReXeXeXeXeXeXeXeXeXeXeXeXfcdkeXfDbhbhbhbhgVbhbhbhbhbheXaRbhfEbhbhcfbhbhbhbBfmgOeXbhfnbBfmbjeXbhfobBfpbheXbhbhbhbhbhdceLeLhteXaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfFfFfGfHfIfIbpbpbpaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekfJekekekekekejaNaLaRaRaRaRaRaRaRaRaRaRaPaRaNaNaNaNaNaNaNaRaRaRaRaRaReXfKbhbhbhbhgVbhbhbhbhbheXdkeBbhbhbhbhdpcwbhbhbhbhbhddaRbhbjbhgOeXhubjbhbBbhbheXgXbhbBbhgOeXgXcwfLbhgOeXeXeXeXbhbhdceLfMeLeXaLaNaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftfNftfNfIfIfIbpbpaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaNaLaRaRaRaRaRaRaNaNaNaNaNaNaNaNaNaNaNaNaNaRaRaRaRaRaReXbhbhbhbhbjbhfObhbjdGbheXfleXbhbhdGbhbhbhbhbhbhcwbheXhmbhfPbhbheXfebhbhbBbhbheXbhfnbBfmbheXbhfobBfpbheXhvbheXhnbhdceLeLeLeXaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftfSftftftftftftftftftftftftftftftftftfsfsfTfHfIbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaejekekekekekekekekekekekekejaLaLaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLfUaLaLaRaRaRaRaReXbhbhbhbhbhfPfVdpbhfWbhcfaReXgXbhbhbhbhbhfRbhbhbhgOeXdnbhbhbhbheBfXbhbhbBfmgOeXbhbhbhbhbheXbhbhbhbhbheXfYbhcfbhbhdceLfZeLeXaLaNaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBfvbpbpaaaaaaaaaaaaaaaaaaaaaaaaaaaafCekekekekekekekekekekekekejaLaPaRaRaLaLaLaLaRaRaRaRaRaRaRaRdnaRaRaRaLaLaLaRaRaRaReXgXdpbhbhbhbhbhbhgabhgOeBhmeXbhbhbhbhbhbhdpbhbhdGbheBaRbhbhbhbheXfebhbhbBbhbheXeXeXcfeXeBeXeXeXcfeXeXeXeXeBeXbhbhdceLeLhteXaLaNaNaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekekekekekekekekekekekekejaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaRaRaReaaRaLaLaLaRaRaReXbhbhbjbhbnbhbhdpbhbhbheXaWeXbhbhcwbhbhbhbibhbhbhbheXaRaRaRaRaReXgXbhcwbBbBbheXbhbhbjbhbhcwbhbhbhbhbhbhbhbhbhbjbheXeLfMeLeXaLaNaNaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafjekekekekekekekekekekekekejaGaNaNaLaLaRaRaRaRaRaLaLaLfUaRaRaRaRaRaRaRaRaRaLaLaRaReXbhbhbhbhbhbhbhbhdGbhbheXaReXbhbhbhgPbhbhgPbhbhbhbhfcaRaXaRaRaReXbhbhgPbhbhcwcfbhbhgPbhdGbhbhbhgPbhbhfPcwbhgPbhbheXeLeLeLeXaLaNaNaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftgdftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaejgeeEeWeRgfggezgeeEghejejejaGaNaNaLaRaRaRaRaRaRaLaLaLaLaLaLaLaRaRaReaaRaRaRaLaLaLeXeXeXeXeXfcaReXeXeXeXeXeXaReXeXeXeXeBdcdceXeXeXeXeXeXaRaRaRaRaReXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXeXaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftftftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaaaGaGaGaGaNaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaRaRaRaRaRfUaLaLaRaRaRaRaRaRfceXeXaRaRaRaRaRaRaRaRheaRaRheaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaLaNaNaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTfAftftftftftftftfSftftftftftftftftftftftftftftfBbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZekeZaaaaaaaaaGaGaGaGaGaNaLaRaRaRaRaRaRaRaRaRaRaRaRaRaRfUaLaLaLaRaRaReaaRaRaLaRaReaaRaLaLaLaLaLaLaLaLaRaRaLaLaLaLaLaRaRaLaLaRaRaLaRaRaRaRaLaLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaaaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabTgigjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgkbQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagleRglaaaaaaaaaGaGaGaGaNaNaLaLaLaLaLaLaRaRaRaRaRaRaRaRaRaRaLaLaLaLaLaRaRaRaRgmaRaWaRaRfUaNaNaNaNaNaNaLaLaLaLaNaNaNaLaLaLaLaLaLaLaLaRaLaLaLaLaLaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaadUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUdUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagbgogpgqgrgogcaaaaaaaGaGaGaNaNaNaLaLaLaLaLaLfUaLaLaRaRaRaRaRaRaRaRaLaLaLaLaRaRaWeaaRaRaRaRaLaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaNaNaNaNaLaLaLaGaGaGaNaNaNaNaNaNaNaNaNaNaNaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+2
View File
@@ -37,6 +37,7 @@
#define ROLE_MORPH "morph"
#define ROLE_ERT "emergency response team"
#define ROLE_NYMPH "Dionaea"
#define ROLE_GSPIDER "giant spider"
//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
@@ -69,4 +70,5 @@ var/global/list/special_roles = list(
ROLE_GUARDIAN,
ROLE_MORPH,
ROLE_TRADER,
ROLE_GSPIDER,
)
+2 -1
View File
@@ -17,6 +17,7 @@ var/global/list/antag_roles = list(
ROLE_REVENANT,
ROLE_GUARDIAN,
ROLE_MORPH,
ROLE_GSPIDER,
)
// Bannable other roles
@@ -26,4 +27,4 @@ var/global/list/other_roles = list(
ROLE_ERT,
"AntagHUD",
"Records"
)
)
+1
View File
@@ -8,6 +8,7 @@ var/list/first_names_male = file2list("config/names/first_male.txt")
var/list/first_names_female = file2list("config/names/first_female.txt")
var/list/last_names = file2list("config/names/last.txt")
var/list/clown_names = file2list("config/names/clown.txt")
var/list/mime_names = file2list("config/names/mime.txt")
var/list/diona_names = file2list ("config/names/diona.txt")
var/list/verbs = file2list("config/names/verbs.txt")
+15
View File
@@ -143,6 +143,21 @@ The box in your backpack has an oxygen tank and gas mask in it."
desc = "You ate too much food, lardass. Run around the station and lose some weight."
icon_state = "fat"
/obj/screen/alert/full
name = "Full"
desc = "You feel full and satisfied, but you shouldn't eat much more."
icon_state = "full"
/obj/screen/alert/well_fed
name = "Well Fed"
desc = "You feel quite satisfied, but you may be able to eat a bit more."
icon_state = "well_fed"
/obj/screen/alert/fed
name = "Fed"
desc = "You feel moderately satisfied, but a bit more food may not hurt."
icon_state = "fed"
/obj/screen/alert/hungry
name = "Hungry"
desc = "Some food would be good right about now."
+2 -2
View File
@@ -77,8 +77,8 @@
if(prob(15/D.permeability_mod))
return
/* if(satiety>0 && prob(satiety/10)) // positive satiety makes it harder to contract the disease.
return*/
if(satiety > 0 && prob(satiety/10)) // positive satiety makes it harder to contract the disease.
return
var/target_zone = pick(head_ch;1,body_ch;2,hands_ch;3,feet_ch;4)
+1 -1
View File
@@ -102,7 +102,7 @@ var/list/diseases = subtypesof(/datum/disease)
return
if(affected_mob)
if(affected_mob.reagents.has_reagent("spaceacillin"))
if(affected_mob.reagents.has_reagent("spaceacillin") || (affected_mob.satiety > 0 && prob(affected_mob.satiety/10)))
return
var/spread_range = 1
+1 -1
View File
@@ -37,7 +37,7 @@
var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice
var/list/items // example: = list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
var/list/fruit // example: = list("fruit" = 3)
var/result // example: = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
var/result // example: = /obj/item/weapon/reagent_containers/food/snacks/donut
var/time = 100 // 1/10 part of second
var/byproduct // example: = /obj/item/weapon/kitchen/mould // byproduct to return, such as a mould or trash
+43 -35
View File
@@ -68,47 +68,55 @@
return 1
return 0
//helper for getting the appropriate health status
//helper for getting the appropriate health status UPDATED BY PUCKABOO2 TO INCLUDE NEGATIVES.
/proc/RoundHealth(health)
switch(health)
if(100 to INFINITY)
return "health100"
if(93 to 100)
return "health93"
if(86 to 93)
return "health86"
if(78 to 86)
return "health78"
if(71 to 78)
return "health71"
if(64 to 71)
return "health64"
if(56 to 64)
return "health56"
if(49 to 56)
return "health49"
if(42 to 49)
return "health42"
if(35 to 42)
return "health35"
if(28 to 35)
return "health28"
if(21 to 28)
return "health21"
if(14 to 21)
return "health14"
if(7 to 14)
return "health7"
if(1 to 7)
return "health1"
if(-50 to 1)
if(95 to 100)
return "health95" //For telling patients to eat a warm donk pocket and go on with their shift.
if(90 to 95)
return "health90"
if(80 to 90)
return "health80"
if(70 to 80)
return "health70"
if(60 to 70)
return "health60"
if(50 to 60)
return "health50"
if(40 to 50)
return "health40"
if(30 to 40)
return "health30"
if(20 to 30)
return "health20"
if(10 to 20)
return "health10"
if(0 to 10)
return "health0"
if(-85 to -50)
if(-10 to 0)
return "health-0" //The health bar will turn a brilliant red and flash as usual, but deducted health will be black.
if(-20 to -10)
return "health-10"
if(-30 to -20)
return "health-20"
if(-40 to -30)
return "health-30"
if(-50 to -40)
return "health-40"
if(-60 to -50)
return "health-50"
if(-99 to -85)
return "health-85"
if(-70 to -60)
return "health-60"
if(-80 to -70)
return "health-70" //Doc?
if(-90 to -80)
return "health-80" //Hey, doc?
if(-100 to -90)
return "health-90" //HURRY UP, DOC!
else
return "health-100"
return "health-100" //doc u had 1 job
return "0"
///HOOKS
@@ -394,4 +402,4 @@
if(weedlevel < 1) // You don't want to see these icons if the value is small
holder.icon_state = ""
return
holder.icon_state = "hudweed[RoundPlantBar(weedlevel/10)]"
holder.icon_state = "hudweed[RoundPlantBar(weedlevel/10)]"
@@ -58,8 +58,8 @@
if(!changeling.has_dna(target.dna))
changeling.absorb_dna(target, user)
if(user.nutrition < 450) // Nutrition level before overeat_duration starts ticking for you to become obese.
user.nutrition = min((user.nutrition + target.nutrition), 450)
if(user.nutrition < NUTRITION_LEVEL_WELL_FED)
user.nutrition = min((user.nutrition + target.nutrition), NUTRITION_LEVEL_WELL_FED)
if(target.mind)//if the victim has got a mind
+1 -1
View File
@@ -407,7 +407,7 @@ var/round_start_time = 0
if(player.client)
if(player.client.karma_spent == 0)
if(player.get_preference(DISABLE_KARMA_REMINDER))
if(!player.get_preference(DISABLE_KARMA_REMINDER))
var/dat
dat += {"<html><head><title>Karma Reminder</title></head><body><h1><B>Karma Reminder</B></h1><br>
You have not yet spent your karma for the round, surely there is a player who was worthy of receiving<br>
+2 -2
View File
@@ -312,7 +312,7 @@ Made by Xhuis
if(!H.weakeyes)
H.weakeyes = 1 //Makes them more vulnerable to flashes and flashbangs
var/light_amount = 0
H.nutrition = 450 //i aint never get hongry
H.nutrition = NUTRITION_LEVEL_WELL_FED //i aint never get hongry
if(isturf(H.loc))
var/turf/T = H.loc
light_amount = T.get_lumcount() * 10
@@ -349,7 +349,7 @@ Made by Xhuis
if(!H.weakeyes)
H.weakeyes = 1 //Makes them more vulnerable to flashes and flashbangs
var/light_amount = 0
H.nutrition = 450 //i aint never get hongry
H.nutrition = NUTRITION_LEVEL_WELL_FED //i aint never get hongry
if(isturf(H.loc))
var/turf/T = H.loc
light_amount = T.get_lumcount() * 10
+1 -1
View File
@@ -304,7 +304,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
H.vessel.remove_reagent("blood", 25)
if(ishuman(owner))
var/mob/living/carbon/human/V = owner
V.nutrition = min(450, V.nutrition + (blood / 2))
V.nutrition = min(NUTRITION_LEVEL_WELL_FED, V.nutrition + (blood / 2))
draining = null
to_chat(owner, "<span class='notice'>You stop draining [H.name] of blood.</span>")
+1
View File
@@ -524,3 +524,4 @@
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
density = 0
+1
View File
@@ -6,6 +6,7 @@
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
density = 0
light_color = LIGHT_COLOR_GREEN
req_one_access = list(access_heads)
circuit = /obj/item/weapon/circuitboard/skills
+1
View File
@@ -705,6 +705,7 @@
for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags
O.loc = R
qdel(I)
R.module.remove_subsystems_and_actions(R)
qdel(R.module)
return ..()
+14 -4
View File
@@ -7,6 +7,8 @@
var/mob/living/carbon/human/attached = null
var/mode = 1 // 1 is injecting, 0 is taking blood.
var/obj/item/weapon/reagent_containers/beaker = null
var/transfer_amount = 5
var/possible_transfer_amounts = list(1,5,10)
/obj/machinery/iv_drip/New()
..()
@@ -115,10 +117,6 @@
// Give blood
if(mode)
if(beaker.volume > 0)
var/transfer_amount = 5
if(istype(beaker, /obj/item/weapon/reagent_containers/blood))
// speed up transfer on blood packs
transfer_amount = 10
var/fraction = min(transfer_amount/beaker.volume, 1) //the fraction that is transfered of the total volume
beaker.reagents.reaction(attached, INGEST, fraction) //make reagents reacts, but don't spam messages
beaker.reagents.trans_to(attached, transfer_amount)
@@ -238,3 +236,15 @@
to_chat(user, "<span class='notice'>No chemicals are attached.</span>")
to_chat(user, "<span class='notice'>[attached ? attached : "No one"] is attached.</span>")
/obj/machinery/iv_drip/verb/set_transfer_rate()
set name = "Set transfer amount"
set category = "Object"
set src in view(1)
if(usr.incapacitated())
return
var/default = 5
var/N = input("Amount per transfer from this:", "[src]", default) as null|anything in possible_transfer_amounts
if(N)
transfer_amount = N
+26 -9
View File
@@ -796,10 +796,10 @@
desc = "A self-serving Chinese food machine, for all your Chinese food needs."
product_slogans = "Taste 5000 years of culture!"
icon_state = "snack"
products = list(/obj/item/weapon/reagent_containers/food/snacks/chinese/chowmein = 5, /obj/item/weapon/reagent_containers/food/snacks/chinese/tao = 5, /obj/item/weapon/reagent_containers/food/snacks/chinese/newdles = 5,
/obj/item/weapon/reagent_containers/food/snacks/chinese/rice = 5, /obj/item/weapon/reagent_containers/food/snacks/wingfangchu = 5)
products = list(/obj/item/weapon/reagent_containers/food/snacks/chinese/chowmein = 6, /obj/item/weapon/reagent_containers/food/snacks/chinese/tao = 6, /obj/item/weapon/reagent_containers/food/snacks/chinese/newdles = 6,
/obj/item/weapon/reagent_containers/food/snacks/chinese/rice = 6)
prices = list(/obj/item/weapon/reagent_containers/food/snacks/chinese/chowmein = 50, /obj/item/weapon/reagent_containers/food/snacks/chinese/tao = 50, /obj/item/weapon/reagent_containers/food/snacks/chinese/newdles = 50,
/obj/item/weapon/reagent_containers/food/snacks/chinese/rice = 50, /obj/item/weapon/reagent_containers/food/snacks/wingfangchu = 50)
/obj/item/weapon/reagent_containers/food/snacks/chinese/rice = 50)
/obj/machinery/vending/cola
name = "\improper Robust Softdrinks"
@@ -945,7 +945,7 @@
icon_deny = "sec-deny"
req_access_txt = "1"
products = list(/obj/item/weapon/restraints/handcuffs = 8,/obj/item/weapon/restraints/handcuffs/cable/zipties = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4,/obj/item/weapon/restraints/legcuffs/bola/energy = 7)
/obj/item/weapon/reagent_containers/food/snacks/donut = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4,/obj/item/weapon/restraints/legcuffs/bola/energy = 7)
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2,/obj/item/device/hailer = 5)
/obj/machinery/vending/hydronutrients
@@ -1033,8 +1033,10 @@
products = list(/obj/item/clothing/suit/chickensuit = 1,/obj/item/clothing/head/chicken = 1,/obj/item/clothing/under/gladiator = 1,
/obj/item/clothing/head/helmet/gladiator = 1,/obj/item/clothing/under/gimmick/rank/captain/suit = 1,/obj/item/clothing/head/flatcap = 1,
/obj/item/clothing/suit/storage/labcoat/mad = 1,/obj/item/clothing/glasses/gglasses = 1,/obj/item/clothing/shoes/jackboots = 1,
/obj/item/clothing/under/schoolgirl = 1,/obj/item/clothing/head/kitty = 1,/obj/item/clothing/under/blackskirt = 1,/obj/item/clothing/head/beret = 1,
/obj/item/clothing/accessory/waistcoat = 1,/obj/item/clothing/under/suit_jacket = 1,/obj/item/clothing/head/that =1,/obj/item/clothing/under/kilt = 1,/obj/item/clothing/head/beret = 1,/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/under/schoolgirl = 1,/obj/item/clothing/head/kitty = 1,/obj/item/clothing/under/blackskirt = 1,
/obj/item/clothing/suit/toggle/owlwings = 1, /obj/item/clothing/under/owl = 1,/obj/item/clothing/mask/gas/owl_mask = 1,
/obj/item/clothing/suit/toggle/owlwings/griffinwings = 1, /obj/item/clothing/under/griffin = 1, /obj/item/clothing/shoes/griffin = 1, /obj/item/clothing/head/griffin = 1,
/obj/item/clothing/accessory/waistcoat = 1,/obj/item/clothing/under/suit_jacket = 1,/obj/item/clothing/head/that =1,/obj/item/clothing/under/kilt = 1,/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/glasses/monocle =1,/obj/item/clothing/head/bowlerhat = 1,/obj/item/weapon/cane = 1,/obj/item/clothing/under/sl_suit = 1,
/obj/item/clothing/mask/fakemoustache = 1,/obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,/obj/item/clothing/head/plaguedoctorhat = 1,/obj/item/clothing/mask/gas/plaguedoctor = 1,
/obj/item/clothing/suit/apron = 1,/obj/item/clothing/under/waiter = 1,/obj/item/clothing/suit/jacket/miljacket = 1,
@@ -1044,10 +1046,20 @@
/obj/item/clothing/mask/gas/cyborg = 1,/obj/item/clothing/suit/holidaypriest = 1,/obj/item/clothing/head/wizard/marisa/fake = 1,
/obj/item/clothing/suit/wizrobe/marisa/fake = 1,/obj/item/clothing/under/sundress = 1,/obj/item/clothing/head/witchwig = 1,/obj/item/weapon/twohanded/staff/broom = 1,
/obj/item/clothing/suit/wizrobe/fake = 1,/obj/item/clothing/head/wizard/fake = 1,/obj/item/weapon/twohanded/staff = 3,/obj/item/clothing/mask/gas/sexyclown = 1,
/obj/item/clothing/under/sexyclown = 1,/obj/item/clothing/mask/gas/sexymime = 1,/obj/item/clothing/under/sexymime = 1,/obj/item/clothing/suit/apron/overalls = 1,
/obj/item/clothing/under/sexyclown = 1,/obj/item/clothing/mask/gas/sexymime = 1,/obj/item/clothing/under/sexymime = 1,
/obj/item/clothing/mask/face/bat = 1,/obj/item/clothing/mask/face/bee = 1,/obj/item/clothing/mask/face/bear = 1,/obj/item/clothing/mask/face/raven = 1,/obj/item/clothing/mask/face/jackal = 1,/obj/item/clothing/mask/face/fox = 1,/obj/item/clothing/mask/face/tribal = 1,/obj/item/clothing/mask/face/rat = 1,
/obj/item/clothing/suit/apron/overalls = 1,
/obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/suit/poncho = 1,
/obj/item/clothing/suit/poncho/green = 1, /obj/item/clothing/suit/poncho/red = 1, /obj/item/clothing/accessory/blue = 1, /obj/item/clothing/accessory/red = 1, /obj/item/clothing/accessory/black = 1, /obj/item/clothing/accessory/horrible = 1,
/obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1, /obj/item/clothing/under/pants/camo = 1, /obj/item/clothing/mask/bandana = 1, /obj/item/clothing/mask/bandana/black = 1)
/obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1,
/obj/item/clothing/under/jester = 1, /obj/item/clothing/head/jester = 1,
/obj/item/clothing/under/pants/camo = 1, /obj/item/clothing/mask/bandana = 1, /obj/item/clothing/mask/bandana/black = 1,
/obj/item/clothing/shoes/singery = 1,/obj/item/clothing/under/singery = 1,
/obj/item/clothing/shoes/singerb = 1,/obj/item/clothing/under/singerb = 1,
/obj/item/clothing/suit/hooded/carp_costume = 1,/obj/item/clothing/suit/hooded/bee_costume = 1,
/obj/item/clothing/suit/snowman = 1,/obj/item/clothing/head/snowman = 1,
/obj/item/clothing/mask/joy = 1,
/obj/item/clothing/head/cueball = 1,/obj/item/clothing/under/scratch = 1)
contraband = list(/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 1, /obj/item/clothing/mask/balaclava=1, /obj/item/clothing/mask/horsehead = 2)
premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/weapon/shield/riot/roman = 1)
refill_canister = /obj/item/weapon/vending_refill/autodrobe
@@ -1163,7 +1175,12 @@
desc = "It doesn't seem the slightest bit unusual. This frustrates you immensely."
icon_state = "hats"
product_ads = "Warning, not all hats are dog/monkey compatible. Apply forcefully with care.;Apply directly to the forehead.;Who doesn't love spending cash on hats?!;From the people that brought you collectable hat crates, Hatlord!"
products = list(/obj/item/clothing/head/bowlerhat = 10,/obj/item/clothing/head/beaverhat = 10,/obj/item/clothing/head/boaterhat = 10,/obj/item/clothing/head/fedora = 10,/obj/item/clothing/head/fez = 10)
products = list(/obj/item/clothing/head/bowlerhat = 10,
/obj/item/clothing/head/beaverhat = 10,
/obj/item/clothing/head/boaterhat = 10,
/obj/item/clothing/head/fedora = 10,
/obj/item/clothing/head/fez = 10,
/obj/item/clothing/head/beret = 10)
contraband = list(/obj/item/clothing/head/bearpelt = 5)
premium = list(/obj/item/clothing/head/soft/rainbow = 1)
refill_canister = /obj/item/weapon/vending_refill/hatdispenser
+2
View File
@@ -502,6 +502,8 @@
/obj/mecha/attack_animal(mob/living/simple_animal/user as mob)
log_message("Attack by simple animal. Attacker - [user].",1)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(user.melee_damage_upper == 0)
user.custom_emote(1, "[user.friendly] [src]")
else
+1 -1
View File
@@ -201,7 +201,7 @@
if(player_spiders && !selecting_player)
selecting_player = 1
spawn()
var/list/candidates = pollCandidates("Do you want to play as a spider?", ROLE_ALIEN, 1)
var/list/candidates = pollCandidates("Do you want to play as a spider?", ROLE_GSPIDER, 1)
if(candidates.len)
var/mob/C = pick(candidates)
@@ -34,51 +34,3 @@
name = "Overdrive"
icon = 'icons/obj/decals.dmi'
icon_state = "shock"
/**********************************************************************
HUD/SIGHT things
***********************************************************************/
/obj/item/borg/sight
icon = 'icons/obj/decals.dmi'
icon_state = "securearea"
var/sight_mode = null
/obj/item/borg/sight/xray
name = "X-ray Vision"
sight_mode = BORGXRAY
/obj/item/borg/sight/thermal
name = "Thermal Vision"
sight_mode = BORGTHERM
icon_state = "thermal"
icon = 'icons/obj/clothing/glasses.dmi'
/obj/item/borg/sight/meson
name = "Meson Vision"
sight_mode = BORGMESON
icon_state = "meson"
icon = 'icons/obj/clothing/glasses.dmi'
/obj/item/borg/sight/hud
name = "Hud"
var/obj/item/clothing/glasses/hud/hud = null
/obj/item/borg/sight/hud/med
name = "medical hud"
icon_state = "healthhud"
icon = 'icons/obj/clothing/glasses.dmi'
/obj/item/borg/sight/hud/med/New()
..()
hud = new /obj/item/clothing/glasses/hud/health(src)
return
/obj/item/borg/sight/hud/sec
name = "security hud"
icon_state = "securityhud"
icon = 'icons/obj/clothing/glasses.dmi'
/obj/item/borg/sight/hud/sec/New()
..()
hud = new /obj/item/clothing/glasses/hud/security(src)
return
@@ -35,6 +35,7 @@
R.uneq_all()
R.hands.icon_state = "nomod"
R.icon_state = "robot"
R.module.remove_subsystems_and_actions(R)
qdel(R.module)
R.module = null
@@ -328,4 +329,4 @@
to_chat(cyborg, "<span class='notice'>Self-repair is active in <span class='boldnotice'>[msgmode]</span> mode.</span>")
msg_cooldown = world.time
else
deactivate()
deactivate()
@@ -64,10 +64,3 @@
desc = "Useful for taking pictures, making friends and flash-frying chips."
icon = 'icons/mob/alien.dmi'
icon_state = "borg-flash"
//heat vision
/obj/item/borg/sight/thermal/alien
name = "thermal module"
icon = 'icons/mob/alien.dmi'
icon_state = "borg-extra-vision"
@@ -107,6 +107,12 @@
return
/obj/item/weapon/twohanded/garrote/process()
if(!strangling)
// Our mark got gibbed or similar
update_icon()
processing_objects.Remove(src)
return
if(!istype(loc, /mob/living/carbon/human))
strangling = null
@@ -175,8 +175,7 @@
"/obj/item/clothing/glasses",
"/obj/item/ammo_casing/shotgun",
"/obj/item/ammo_box",
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal",
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly",
"/obj/item/weapon/reagent_containers/food/snacks/donut",
"/obj/item/weapon/kitchen/knife/combat",
"/obj/item/weapon/melee/baton",
"/obj/item/weapon/melee/classic_baton",
@@ -53,9 +53,8 @@
/obj/item/weapon/storage/fancy/donut_box/New()
..()
for(var/i=1; i <= storage_slots; i++)
new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src)
return
for(var/i = 1 to storage_slots)
new /obj/item/weapon/reagent_containers/food/snacks/donut(src)
/*
* Egg Box
@@ -117,3 +117,13 @@
display_name = "science beret"
path = /obj/item/clothing/head/beret/sci
allowed_roles = list("Research Director", "Scientist")
/datum/gear/hat/surgicalcap_purple
display_name = "surgical cap, purple"
path = /obj/item/clothing/head/surgery/purple
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
/datum/gear/hat/surgicalcap_green
display_name = "surgical cap, green"
path = /obj/item/clothing/head/surgery/green
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
@@ -98,6 +98,19 @@
path = /obj/item/clothing/under/rank/head_of_security/skirt
allowed_roles = list("Head of Security")
/datum/gear/uniform/job/medical/scrubs
subtype_path = /datum/gear/uniform/job/medical/scrubs
/datum/gear/uniform/job/medical/scrubs/purple
display_name = "medical scrubs, purple"
path = /obj/item/clothing/under/rank/medical/purple
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
/datum/gear/uniform/job/medical/scrubs/green
display_name = "medical scrubs, green"
path = /obj/item/clothing/under/rank/medical/green
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
/datum/gear/uniform/sec
subtype_path = /datum/gear/uniform/sec
@@ -23,6 +23,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
// ROLE_GANG = 21,
ROLE_BORER = 21,
ROLE_NINJA = 21,
ROLE_GSPIDER = 21,
ROLE_ABDUCTOR = 30,
)
+15 -2
View File
@@ -79,9 +79,17 @@
name = "cueball helmet"
desc = "A large, featureless white orb meant to be worn on your head. How do you even see out of this thing?"
icon_state = "cueball"
item_state = "cueball"
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
item_state="cueball"
flags_inv = 0
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
/obj/item/clothing/head/snowman
name = "snowman head"
desc = "A ball of white styrofoam. So festive."
icon_state = "snowman_h"
item_state = "snowman_h"
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
/obj/item/clothing/head/that
name = "sturdy top-hat"
@@ -348,6 +356,11 @@
attack_verb = list("warned", "cautioned", "smashed")
burn_state = FIRE_PROOF
/obj/item/clothing/head/jester
name = "jester hat"
desc = "A hat with bells, to add some merryness to the suit."
icon_state = "jester_hat"
/obj/item/clothing/head/griffin
name = "griffon head"
desc = "Why not 'eagle head'? Who knows."
@@ -139,6 +139,13 @@
w_class = 2
gas_transfer_coefficient = 0.90
/obj/item/clothing/mask/joy
name = "joy mask"
desc = "Express your happiness or hide your sorrows with this face with tears of joy cutout."
icon_state = "joy"
flags = MASKCOVERSMOUTH
flags_inv = HIDEFACE
/obj/item/clothing/mask/pig
name = "pig mask"
desc = "A rubber pig mask."
@@ -188,6 +195,58 @@
if(user.real_name == "[originalname][temporaryname]" || user.real_name == "A Horse With No Name") //if it's somehow changed while the mask is on it doesn't revert
user.real_name = originalname
/obj/item/clothing/mask/face
flags = MASKCOVERSMOUTH
flags_inv = HIDEFACE
/obj/item/clothing/mask/face/rat
name = "rat mask"
desc = "A mask made of soft vinyl and latex, representing the head of a rat."
icon_state = "rat"
item_state = "rat"
/obj/item/clothing/mask/face/fox
name = "fox mask"
desc = "A mask made of soft vinyl and latex, representing the head of a fox."
icon_state = "fox"
item_state = "fox"
/obj/item/clothing/mask/face/bee
name = "bee mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bee."
icon_state = "bee"
item_state = "bee"
/obj/item/clothing/mask/face/bear
name = "bear mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bear."
icon_state = "bear"
item_state = "bear"
/obj/item/clothing/mask/face/bat
name = "bat mask"
desc = "A mask made of soft vinyl and latex, representing the head of a bat."
icon_state = "bat"
item_state = "bat"
/obj/item/clothing/mask/face/raven
name = "raven mask"
desc = "A mask made of soft vinyl and latex, representing the head of a raven."
icon_state = "raven"
item_state = "raven"
/obj/item/clothing/mask/face/jackal
name = "jackal mask"
desc = "A mask made of soft vinyl and latex, representing the head of a jackal."
icon_state = "jackal"
item_state = "jackal"
/obj/item/clothing/mask/face/tribal
name = "tribal mask"
desc = "A mask carved out of wood, detailed carefully by hand."
icon_state = "bumba"
item_state = "bumba"
/obj/item/clothing/mask/fawkes
name = "Guy Fawkes mask"
desc = "A mask designed to help you remember a specific date."
@@ -212,3 +212,15 @@
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
flags = NODROP
shoe_sound = "clownstep"
/obj/item/clothing/shoes/singery
name = "yellow performer's boots"
desc = "These boots were made for dancing."
icon_state = "ysing"
put_on_delay = 50
/obj/item/clothing/shoes/singerb
name = "blue performer's boots"
desc = "These boots were made for dancing."
icon_state = "bsing"
put_on_delay = 50
@@ -249,6 +249,13 @@
I.overlays += image(icon = 'icons/mob/robots.dmi' , icon_state = "eyes-robot") //gotta look realistic
H.add_alt_appearance("standard_borg_disguise", I, silicon_mob_list+H) //you look like a robot to robots! (including yourself because you're totally a robot)
/obj/item/clothing/suit/snowman
name = "snowman outfit"
desc = "Two white spheres covered in white glitter. 'Tis the season."
icon_state = "snowman"
item_state = "snowman"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/suit/poncho
name = "poncho"
@@ -279,6 +286,44 @@
item_state = "ponchoshame"
flags = NODROP
/obj/item/clothing/suit/hooded/carp_costume
name = "carp costume"
desc = "A costume made from 'synthetic' carp scales, it smells."
icon_state = "carp_casual"
item_state = "labcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
allowed = list(/obj/item/weapon/tank/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/carp_hood
/obj/item/clothing/head/hooded/carp_hood
name = "carp hood"
desc = "A hood attached to a carp costume."
icon_state = "carp_casual"
body_parts_covered = HEAD
cold_protection = HEAD
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
flags = NODROP|BLOCKHAIR
flags_inv = HIDEEARS
/obj/item/clothing/suit/hooded/bee_costume // It's Hip!
name = "bee costume"
desc = "Bee the true Queen!"
icon_state = "bee"
item_state = "labcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
flags = THICKMATERIAL
hoodtype = /obj/item/clothing/head/hooded/bee_hood
/obj/item/clothing/head/hooded/bee_hood
name = "bee hood"
desc = "A hood attached to a bee costume."
icon_state = "bee"
body_parts_covered = HEAD
flags = THICKMATERIAL|NODROP|BLOCKHAIR
flags_inv = HIDEEARS
/obj/item/clothing/suit/bloated_human //OH MY GOD WHAT HAVE YOU DONE!?!?!?
name = "bloated human suit"
desc = "A horribly bloated suit made from human skins."
@@ -495,6 +495,26 @@
item_color = "janimaid"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/singery
name = "yellow performer's outfit"
desc = "Just looking at this makes you want to sing."
icon_state = "ysing"
item_state = "ysing"
item_color = "ysing"
/obj/item/clothing/under/singerb
name = "blue performer's outfit"
desc = "Just looking at this makes you want to sing."
icon_state = "bsing"
item_state = "bsing"
item_color = "bsing"
/obj/item/clothing/under/jester
name = "jester suit"
desc = "A jolly dress, well suited to entertain your master, nuncle."
icon_state = "jester"
item_color = "jester"
/obj/item/clothing/under/flappers
name = "flappers"
desc = "Nothing like the roarin' '20s, flapping the night away on the dance floor."
+20
View File
@@ -154,6 +154,14 @@
icon_on = "guessipon"
icon_off = "guessip"
/obj/item/weapon/lighter/zippo/fluff/duckchan // Duckchan: Rybys Romney
name = "Monogrammed Zippo"
desc = " A shiny purple zippo lighter, engraved with Rybys Romney and BuzzPing's name, with a festive green flame."
icon = 'icons/obj/custom_items.dmi'
icon_state = "rybysfluff"
icon_on = "rybysfluffopen"
icon_off = "rybysfluff"
/obj/item/weapon/fluff/dogwhistle //phantasmicdream: Zeke Varloss
name = "Sax's whistle"
desc = "This whistle seems to have a strange aura about it. Maybe you should blow on it?"
@@ -376,6 +384,18 @@
icon_state = "kakicharakiti"
//////////// Suits ////////////
/obj/item/clothing/suit/fluff/dusty_jacket //ComputerlessCitizen: Screech
name = "Dusty Jacket"
desc = "A worn leather jacket. Some burn holes have been patched."
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
icon = 'icons/obj/custom_items.dmi'
icon_state = "dusty_jacket"
ignore_suitadjust = 1
actions_types = list()
adjust_flavour = null
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Socialsystem: Lynn Fea
name = "Robotics labcoat"
desc = "A labcoat with a few markings denoting it as the labcoat of roboticist."
+4 -3
View File
@@ -5,7 +5,8 @@
possible_transfer_amounts = null
volume = 50 //Sets the default container amount for all food items.
var/filling_color = "#FFFFFF" //Used by sandwiches.
var/bitesize = 1
var/junkiness = 0 //for junk food. used to lower human satiety.
var/bitesize = 2
var/consume_sound = 'sound/items/eatfood.ogg'
var/apply_type = INGEST
var/apply_method = "swallow"
@@ -15,5 +16,5 @@
/obj/item/weapon/reagent_containers/food/New()
..()
pixel_x = rand(-10, 10) //Randomizes postion
pixel_y = rand(-10, 10)
pixel_x = rand(-5, 5) //Randomizes postion
pixel_y = rand(-5, 5)
+11 -14
View File
@@ -22,7 +22,6 @@
desc = "Such sweet, fattening food."
icon_state = "chocolatebar"
filling_color = "#7D5F46"
bitesize = 2
list_reagents = list("nutriment" = 2, "chocolate" = 4)
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel
@@ -30,7 +29,6 @@
desc = "Chewy and dense, yet it practically melts in your mouth!"
icon_state = "caramel"
filling_color = "#DB944D"
bitesize = 2
list_reagents = list("cream" = 2, "sugar" = 2)
@@ -39,7 +37,6 @@
desc = "A hard, brittle candy with a distinctive taste."
icon_state = "toffee"
filling_color = "#7D5F46"
bitesize = 2
list_reagents = list("nutriment" = 3, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat
@@ -47,7 +44,6 @@
desc = "A soft, chewy candy commonly found in candybars."
icon_state = "nougat"
filling_color = "#7D5F46"
bitesize = 2
list_reagents = list("nutriment" = 3, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/candy/taffy
@@ -55,7 +51,6 @@
desc = "Old fashioned saltwater taffy. Chewy!"
icon_state = "candy1"
filling_color = "#7D5F46"
bitesize = 2
list_reagents = list("nutriment" = 3, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/candy/taffy/New()
@@ -111,7 +106,6 @@
desc = "It's a handful of candy corn. Cannot be stored in a detective's hat, alas."
icon_state = "candycorn"
filling_color = "#FFFCB0"
bitesize = 2
list_reagents = list("nutriment" = 4, "sugar" = 2)
// ***********************************************************
@@ -134,14 +128,15 @@
trash = /obj/item/trash/candy
filling_color = "#7D5F46"
bitesize = 3
list_reagents = list("nutriment" = 2, "chocolate" = 5)
junkiness = 25
list_reagents = list("nutriment" = 1, "chocolate" = 1)
/obj/item/weapon/reagent_containers/food/snacks/candy/candycane
name = "candy cane"
desc = "A festive mint candy cane."
icon_state = "candycane"
filling_color = "#F2F2F2"
bitesize = 2
list_reagents = list("minttoxin" = 1, "sugar" = 5)
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear
@@ -181,7 +176,6 @@
desc = "Not legal tender. Tasty though."
icon_state = "candy_cash"
filling_color = "#302000"
bitesize = 2
list_reagents = list("nutriment" = 2, "chocolate" = 4)
/obj/item/weapon/reagent_containers/food/snacks/candy/coin
@@ -511,32 +505,35 @@
// Candybar Flavors
// ***********************************************************
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery
list_reagents = list("nutriment" = 1, "chocolate" = 1)
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/rice
name = "Asteroid Crunch Bar"
desc = "Crunchy rice deposits in delicious chocolate! A favorite of miners galaxy-wide."
icon_state = "asteroidcrunch"
trash = /obj/item/trash/candy
filling_color = "#7D5F46"
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/toffee
name = "Yum-baton Bar"
desc = "Chocolate and toffee in the shape of a baton. Security sure knows how to pound these down!"
icon_state = "yumbaton"
filling_color = "#7D5F46"
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel
name = "Malper Bar"
desc = "A chocolate syringe filled with a caramel injection. Just what the doctor ordered!"
icon_state = "malper"
filling_color = "#7D5F46"
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel_nougat
name = "Toxins Test Bar"
desc = "An explosive combination of chocolate, caramel, and nougat. Research has never been so tasty!"
icon_state = "toxinstest"
filling_color = "#7D5F46"
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/nougat
name = "Tool-erone Bar"
desc = "Chocolate-covered nougat, shaped like a wrench. Great for an engineer on the go!"
icon_state = "toolerone"
@@ -69,6 +69,7 @@
icon_state = "breadslice"
var/baseicon = "sandwich"
var/basename = "sandwich"
bitesize = 4
var/top = 1 //Do we have a top?
var/obj/item/toptype
var/add_overlays = 1 //Do we stack?
@@ -76,7 +77,6 @@
var/sandwich_limit = 40
var/fullycustom = 0
trash = /obj/item/trash/plate
bitesize = 2
var/list/ingredients = list()
list_reagents = list("nutriment" = 8)
+12 -12
View File
@@ -6,7 +6,7 @@
icon_state = "fishfillet"
filling_color = "#FFDEFE"
bitesize = 6
list_reagents = list("protein" = 3, "carpotoxin" = 3)
list_reagents = list("protein" = 3, "carpotoxin" = 2, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat
name = "raw salmon"
@@ -14,8 +14,8 @@
icon = 'icons/obj/food/seafood.dmi'
icon_state = "fishfillet"
filling_color = "#FFDEFE"
bitesize = 3
list_reagents = list("protein" = 3)
bitesize = 6
list_reagents = list("protein" = 3, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/salmonsteak
name = "Salmon steak"
@@ -25,7 +25,7 @@
trash = /obj/item/trash/plate
filling_color = "#7A3D11"
bitesize = 3
list_reagents = list("nutriment" = 4, "sodiumchloride" = 1, "blackpepper" = 1)
list_reagents = list("nutriment" = 4, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/catfishmeat
name = "raw catfish"
@@ -33,8 +33,8 @@
icon = 'icons/obj/food/seafood.dmi'
icon_state = "fishfillet"
filling_color = "#FFDEFE"
bitesize = 3
list_reagents = list("protein" = 3)
bitesize = 6
list_reagents = list("protein" = 3, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/fishfingers
name = "Fish Fingers"
@@ -42,8 +42,8 @@
icon = 'icons/obj/food/seafood.dmi'
icon_state = "fishfingers"
filling_color = "#FFDEFE"
bitesize = 3
list_reagents = list("nutriment" = 4, "carpotoxin" = 3)
bitesize = 1
list_reagents = list("nutriment" = 4)
/obj/item/weapon/reagent_containers/food/snacks/fishburger
name = "Fillet -o- Carp Sandwich"
@@ -52,7 +52,7 @@
icon_state = "fishburger"
filling_color = "#FFDEFE"
bitesize = 3
list_reagents = list("nutriment" = 6, "carpotoxin" = 3)
list_reagents = list("nutriment" = 6, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/cubancarp
name = "Cuban Carp"
@@ -62,7 +62,7 @@
trash = /obj/item/trash/plate
filling_color = "#E9ADFF"
bitesize = 3
list_reagents = list("nutriment" = 6, "carpotoxin" = 3, "capsaicin" = 3)
list_reagents = list("nutriment" = 6, "capsaicin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
name = "Fish and Chips"
@@ -71,7 +71,7 @@
icon_state = "fishandchips"
filling_color = "#E3D796"
bitesize = 3
list_reagents = list("nutriment" = 6, "carpotoxin" = 3)
list_reagents = list("nutriment" = 6)
/obj/item/weapon/reagent_containers/food/snacks/sashimi
name = "carp sashimi"
@@ -79,7 +79,7 @@
icon = 'icons/obj/food/seafood.dmi'
icon_state = "sashimi"
bitesize = 3
list_reagents = list("nutriment" = 6, "toxin" = 5)
list_reagents = list("nutriment" = 6, "capsaicin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/fried_shrimp
name = "fried shrimp"
File diff suppressed because it is too large Load Diff
@@ -505,7 +505,7 @@
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
)
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel
/datum/recipe/candy/toolerone
reagents = list()
@@ -513,7 +513,7 @@
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
)
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/nougat
/datum/recipe/candy/yumbaton
reagents = list()
@@ -521,14 +521,14 @@
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
/obj/item/weapon/reagent_containers/food/snacks/candy/toffee,
)
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/toffee
/datum/recipe/candy/crunch
reagents = list("rice" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
)
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/rice
/datum/recipe/candy/toxinstest
reagents = list()
@@ -537,4 +537,4 @@
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
)
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel_nougat
@@ -29,24 +29,24 @@
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly
/datum/recipe/microwave/jellydonut/cherry
reagents = list("cherryjelly" = 5, "sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly
/datum/recipe/microwave/donut
reagents = list("sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
result = /obj/item/weapon/reagent_containers/food/snacks/donut
/datum/recipe/microwave/donut/sprinkles
reagents = list("sugar" = 5, "sprinkles" = 3)
reagents = list("sugar" = 5, "sprinkles" = 2)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough
)
@@ -671,12 +671,6 @@ datum/recipe/microwave/slimesandwich
)
result = /obj/item/weapon/reagent_containers/food/snacks/taco
/datum/recipe/microwave/meatball
items = list(
/obj/item/weapon/reagent_containers/food/snacks/rawmeatball
)
result = /obj/item/weapon/reagent_containers/food/snacks/meatball
/datum/recipe/microwave/fries
items = list(
/obj/item/weapon/reagent_containers/food/snacks/rawsticks
+35 -35
View File
@@ -3,7 +3,7 @@
name = "chili"
seed_name = "chili"
display_name = "chili plants"
chems = list("capsaicin" = list(3,5), "plantmatter" = list(1,25))
chems = list("capsaicin" = list(3,5), "plantmatter" = list(1,25), "vitamin" = list(1,25))
mutants = list("icechili", "ghostchili")
kitchen_tag = "chili"
preset_icon = "chilipepper"
@@ -24,7 +24,7 @@
seed_name = "ice pepper"
display_name = "ice-pepper plants"
mutants = null
chems = list("frostoil" = list(3,5), "plantmatter" = list(1,50))
chems = list("frostoil" = list(3,5), "plantmatter" = list(1,50), "vitamin" = list(1,50))
kitchen_tag = "icechili"
preset_icon = "icepepper"
@@ -58,7 +58,7 @@
seed_name = "berry"
display_name = "berry bush"
mutants = list("glowberries","poisonberries")
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "berries"
preset_icon = "berrypile"
@@ -79,7 +79,7 @@
seed_name = "glowberry"
display_name = "glowberry bush"
mutants = null
chems = list("plantmatter" = list(1,10), "uranium" = list(3,5))
chems = list("plantmatter" = list(1,10), "uranium" = list(3,5), "vitamin" = list(1,25))
preset_icon = "glowberrypile"
/datum/seed/berry/glow/New()
@@ -99,7 +99,7 @@
seed_name = "poison berry"
display_name = "poison berry bush"
mutants = list("deathberries")
chems = list("plantmatter" = list(1), "toxin" = list(3,5))
chems = list("plantmatter" = list(1), "toxin" = list(3,5), "vitamin" = list(1,25))
kitchen_tag = "poisonberries"
preset_icon = "poisonberrypile"
@@ -113,7 +113,7 @@
seed_name = "death berry"
display_name = "death berry bush"
mutants = null
chems = list("plantmatter" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5))
chems = list("plantmatter" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5), "vitamin" = list(1,25))
preset_icon = "deathberrypile"
/datum/seed/berry/poison/death/New()
@@ -169,7 +169,7 @@
seed_name = "tomato"
display_name = "tomato plant"
mutants = list("bluetomato","bloodtomato","killertomato")
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "tomato"
preset_icon = "tomato"
@@ -190,7 +190,7 @@
seed_name = "blood tomato"
display_name = "blood tomato plant"
mutants = list("killertomato")
chems = list("protein" = list(1,10), "blood" = list(1,5))
chems = list("protein" = list(1,10), "blood" = list(1,5), "vitamin" = list(1,25))
splat_type = /obj/effect/decal/cleanable/blood/splatter
kitchen_tag = "bloodtomato"
preset_icon = "bloodtomato"
@@ -222,7 +222,7 @@
seed_name = "blue tomato"
display_name = "blue tomato plant"
mutants = list("bluespacetomato")
chems = list("plantmatter" = list(1,20), "lube" = list(1,5))
chems = list("plantmatter" = list(1,20), "lube" = list(1,5), "vitamin" = list(1,25))
preset_icon = "bluetomato"
/datum/seed/tomato/blue/New()
@@ -237,7 +237,7 @@
seed_name = "bluespace tomato"
display_name = "bluespace tomato plant"
mutants = null
chems = list("plantmatter" = list(1,20), "singulo" = list(10,5))
chems = list("plantmatter" = list(1,20), "singulo" = list(10,5), "vitamin" = list(1,25))
preset_icon = "bluespacetomato"
/datum/seed/tomato/blue/teleport/New()
@@ -254,7 +254,7 @@
seed_name = "eggplant"
display_name = "eggplants"
mutants = list("egg-plant")
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "eggplant"
preset_icon = "eggplant"
@@ -294,7 +294,7 @@
seed_name = "apple"
display_name = "apple tree"
mutants = list("poisonapple","goldapple")
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "apple"
preset_icon = "apple"
@@ -320,7 +320,7 @@
seed_name = "golden apple"
display_name = "gold apple tree"
mutants = null
chems = list("plantmatter" = list(1,10), "gold" = list(1,5))
chems = list("plantmatter" = list(1,10), "gold" = list(1,5), "vitamin" = list(1,25))
kitchen_tag = "goldapple"
preset_icon = "goldapple"
@@ -339,7 +339,7 @@
seed_name = "ambrosia vulgaris"
display_name = "ambrosia vulgaris"
mutants = list("ambrosiadeus")
chems = list("plantmatter" = list(1), "thc" = list(1,8), "silver_sulfadiazine" = list(1,8,1), "styptic_powder" = list(1,10,1), "toxin" = list(1,10))
chems = list("plantmatter" = list(1), "thc" = list(1,8), "silver_sulfadiazine" = list(1,8,1), "styptic_powder" = list(1,10,1), "vitamin" = list(1,25), "toxin" = list(1,10))
kitchen_tag = "ambrosia"
preset_icon = "ambrosiavulgaris"
@@ -359,7 +359,7 @@
seed_name = "ambrosia deus"
display_name = "ambrosia deus"
mutants = null
chems = list("plantmatter" = list(1), "styptic_powder" = list(1,8), "synaptizine" = list(1,8,1), "methamphetamine" = list(1,10,1), "thc" = list(1,10))
chems = list("plantmatter" = list(1), "styptic_powder" = list(1,8), "synaptizine" = list(1,8,1), "methamphetamine" = list(1,10,1), "vitamin" = list(1,25), "thc" = list(1,10))
kitchen_tag = "ambrosiadeus"
preset_icon = "ambrosiadeus"
@@ -431,7 +431,7 @@
seed_name = "tea aspera"
display_name = "tea aspera"
mutants = list("teaastra")
chems = list("teapowder" = list(1,20), "charcoal" = list(1,30))
chems = list("teapowder" = list(1,20), "charcoal" = list(1,30), "vitamin" = list(1,25))
preset_icon = "tea_aspera_leaves"
/datum/seed/teaaspera/New()
@@ -449,7 +449,7 @@
name = "teaastra"
seed_name = "tea astra"
display_name = "tea astra"
chems = list("teapowder" = list(1,20), "haloperidol" = list(1,30))
chems = list("teapowder" = list(1,20), "haloperidol" = list(1,30), "vitamin" = list(1,25))
preset_icon = "tea_astra_leaves"
/datum/seed/teaastra/New()
@@ -471,7 +471,7 @@
seed_name = "coffee arabica"
display_name = "coffee arabica"
mutants = list("coffeer")
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,40))
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,40), "vitamin" = list(1,25))
kitchen_tag = "coffeea"
preset_icon = "coffee_arabica"
@@ -490,7 +490,7 @@
name = "coffeer"
seed_name = "coffee robusta"
display_name = "coffee robusta"
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,20), "methamphetamine" = list(1,40))
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,20), "methamphetamine" = list(1,40), "vitamin" = list(1,25))
kitchen_tag = "coffeer"
preset_icon = "coffee_robusta"
@@ -551,7 +551,7 @@
seed_name = "plump helmet"
display_name = "plump helmet mushrooms"
mutants = list("walkingmushroom","towercap")
chems = list("plantmatter" = list(2,10))
chems = list("plantmatter" = list(2,10), "vitamin" = list(1,25))
kitchen_tag = "plumphelmet"
preset_icon = "plumphelmet"
@@ -786,7 +786,7 @@
/datum/seed/flower/moonflower
name = "moonflowers"
seed_name = "moonflowers"
chems = list("plantmatter" = list(1,50), "moonshine" = list(1,10))
chems = list("plantmatter" = list(1,50), "moonshine" = list(1,10), "vitamin" = list(1,25))
mutants = null
display_name = "moonflowers"
preset_icon = "moonflower"
@@ -824,7 +824,7 @@
seed_name = "grape"
display_name = "grapevines"
mutants = list("greengrapes")
chems = list("plantmatter" = list(1,10), "sugar" = list(1,5))
chems = list("plantmatter" = list(1,10), "sugar" = list(1,5), "vitamin" = list(1,25))
kitchen_tag = "grapes"
preset_icon = "grapes"
@@ -845,7 +845,7 @@
seed_name = "green grape"
display_name = "green grapevines"
mutants = null
chems = list("plantmatter" = list(1,10), "silver_sulfadiazine" = list(3,5))
chems = list("plantmatter" = list(1,10), "silver_sulfadiazine" = list(3,5), "vitamin" = list(1,25))
preset_icon = "greengrapes"
/datum/seed/grapes/green/New()
@@ -857,7 +857,7 @@
name = "soybean"
seed_name = "soybean"
display_name = "soybeans"
chems = list("plantmatter" = list(1,20), "soybeanoil" = list(1,20))
chems = list("plantmatter" = list(1,20), "soybeanoil" = list(1,20), "vitamin" = list(1,25))
mutants = list("koibean")
kitchen_tag = "soybeans"
preset_icon = "soybeans"
@@ -877,7 +877,7 @@
name = "koibean"
seed_name = "koibean"
display_name = "koi beans"
chems = list("plantmatter" = list(1,30), "carpotoxin" = list(1,20))
chems = list("plantmatter" = list(1,30), "carpotoxin" = list(1,20), "vitamin" = list(1,25))
mutants = null
kitchen_tag = "koibean"
preset_icon = "koibeans"
@@ -918,7 +918,7 @@
name = "cabbage"
seed_name = "cabbage"
display_name = "cabbages"
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "cabbage"
preset_icon = "cabbage"
@@ -938,7 +938,7 @@
name = "banana"
seed_name = "banana"
display_name = "banana tree"
chems = list("banana" = list(10,10))
chems = list("banana" = list(10,10), "vitamin" = list(1,25))
trash_type = /obj/item/weapon/bananapeel
kitchen_tag = "banana"
preset_icon = "banana"
@@ -958,7 +958,7 @@
name = "corn"
seed_name = "corn"
display_name = "ears of corn"
chems = list("plantmatter" = list(1,10), "corn_starch" = list(3,5))
chems = list("plantmatter" = list(1,10), "corn_starch" = list(3,5), "vitamin" = list(1,25))
kitchen_tag = "corn"
trash_type = /obj/item/weapon/corncob
preset_icon = "corn"
@@ -978,7 +978,7 @@
name = "potato"
seed_name = "potato"
display_name = "potatoes"
chems = list("plantmatter" = list(1,10))
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
kitchen_tag = "potato"
preset_icon = "potato"
@@ -1035,7 +1035,7 @@
name = "carrot"
seed_name = "carrot"
display_name = "carrots"
chems = list("plantmatter" = list(1,20), "oculine" = list(3,5))
chems = list("plantmatter" = list(1,20), "oculine" = list(3,5), "vitamin" = list(1,25))
kitchen_tag = "carrot"
preset_icon = "carrot"
@@ -1070,7 +1070,7 @@
name = "whitebeet"
seed_name = "white-beet"
display_name = "white-beets"
chems = list("plantmatter" = list(0,20), "sugar" = list(1,5))
chems = list("plantmatter" = list(0,20), "sugar" = list(1,5), "vitamin" = list(1,25))
kitchen_tag = "whitebeet"
preset_icon = "whitebeet"
@@ -1109,7 +1109,7 @@
name = "watermelon"
seed_name = "watermelon"
display_name = "watermelon vine"
chems = list("plantmatter" = list(1,6))
chems = list("plantmatter" = list(1,6), "vitamin" = list(1,25))
kitchen_tag = "watermelon"
preset_icon = "watermelon"
@@ -1130,7 +1130,7 @@
name = "pumpkin"
seed_name = "pumpkin"
display_name = "pumpkin vine"
chems = list("plantmatter" = list(1,6))
chems = list("plantmatter" = list(1,6), "vitamin" = list(1,25))
kitchen_tag = "pumpkin"
preset_icon = "pumpkin"
@@ -1150,7 +1150,7 @@
name = "lime"
seed_name = "lime"
display_name = "lime trees"
chems = list("plantmatter" = list(1,20))
chems = list("plantmatter" = list(1,20), "vitamin" = list(1,25))
kitchen_tag = "lime"
preset_icon = "lime"
@@ -1170,7 +1170,7 @@
name = "lemon"
seed_name = "lemon"
display_name = "lemon trees"
chems = list("plantmatter" = list(1,20))
chems = list("plantmatter" = list(1,20), "vitamin" = list(1,25))
mutants = list("cashtree")
kitchen_tag = "lemon"
preset_icon = "lemon"
+26 -8
View File
@@ -737,6 +737,7 @@
healable = 0
var/mode = MINEDRONE_COLLECT
var/light_on = 0
var/mesons_active
var/datum/action/innate/minedrone/toggle_light/toggle_light_action
var/datum/action/innate/minedrone/toggle_meson_vision/toggle_meson_vision_action
@@ -863,6 +864,28 @@
mode = MINEDRONE_COLLECT
SetCollectBehavior()
/mob/living/simple_animal/hostile/mining_drone/update_sight()
if(!client)
return
if(stat == DEAD)
grant_death_vision()
return
if(mesons_active)
sight |= SEE_TURFS
see_invisible = SEE_INVISIBLE_MINIMUM
else
sight &= ~SEE_TURFS
see_invisible = SEE_INVISIBLE_LIVING
see_in_dark = initial(see_in_dark)
if(client.eye != src)
var/atom/A = client.eye
if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates.
return
//Actions for sentient minebots
/datum/action/innate/minedrone
@@ -889,15 +912,10 @@
/datum/action/innate/minedrone/toggle_meson_vision/Activate()
var/mob/living/simple_animal/hostile/mining_drone/user = owner
user.mesons_active = !user.mesons_active
user.update_sight()
if(user.sight & SEE_TURFS)
user.sight &= ~SEE_TURFS
user.see_invisible = SEE_INVISIBLE_LIVING
else
user.sight |= SEE_TURFS
user.see_invisible = SEE_INVISIBLE_MINIMUM
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].</span>")
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.mesons_active) ? "on" : "off"].</span>")
/datum/action/innate/minedrone/toggle_mode
name = "Toggle Mode"
+2 -1
View File
@@ -226,6 +226,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(client.statpanel == "Status")
show_stat_station_time()
show_stat_emergency_shuttle_eta()
stat(null, "Respawnability: [(src in respawnable_list) ? "Yes" : "No"]")
/mob/dead/observer/verb/reenter_corpse()
set category = "Ghost"
@@ -667,4 +668,4 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
mind.active = 1
mind.transfer_to(new_char)
else
new_char.key = key
new_char.key = key
+22 -19
View File
@@ -34,12 +34,12 @@
/mob/living/carbon/Move(NewLoc, direct)
. = ..()
if(.)
if(src.nutrition && src.stat != 2)
src.nutrition -= HUNGER_FACTOR/10
if(src.m_intent == "run")
src.nutrition -= HUNGER_FACTOR/10
if((FAT in src.mutations) && src.m_intent == "run" && src.bodytemperature <= 360)
src.bodytemperature += 2
if(nutrition && stat != DEAD)
nutrition -= HUNGER_FACTOR/10
if(m_intent == "run")
nutrition -= HUNGER_FACTOR/10
if((FAT in mutations) && m_intent == "run" && bodytemperature <= 360)
bodytemperature += 2
// Moving around increases germ_level faster
if(germ_level < GERM_LEVEL_MOVE_CAP && prob(8))
@@ -939,9 +939,10 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
/mob/living/carbon/proc/eat(var/obj/item/weapon/reagent_containers/food/toEat, mob/user)
if(!istype(toEat))
return 0
var/fullness = 0
var/fullness = nutrition + 10
if(istype(toEat, /obj/item/weapon/reagent_containers/food/snacks))
fullness = nutrition + (reagents.get_reagent_amount("nutriment") * 20) + (reagents.get_reagent_amount("protein") * 25) + (reagents.get_reagent_amount("plantmatter") * 25)
for(var/datum/reagent/consumable/C in reagents.reagent_list) //we add the nutrition value of what we're currently digesting
fullness += C.nutriment_factor * C.volume / C.metabolization_rate
if(user == src)
if(istype(toEat, /obj/item/weapon/reagent_containers/food/drinks))
if(!selfDrink(toEat))
@@ -960,15 +961,18 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
if(istype(toEat, /obj/item/weapon/reagent_containers/food/pill))
to_chat(src, "<span class='notify'>You [toEat.apply_method] [toEat].</span>")
else
if(toEat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50 )
to_chat(src, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
return 0
if(fullness <= 50)
to_chat(src, "<span class='warning'>You hungrily chew out a piece of [toEat] and gobble it!</span>")
else if(fullness > 50 && fullness <= 150)
else if(fullness > 50 && fullness < 150)
to_chat(src, "<span class='notice'>You hungrily begin to eat [toEat].</span>")
else if(fullness > 150 && fullness <= 350)
else if(fullness > 150 && fullness < 500)
to_chat(src, "<span class='notice'>You take a bite of [toEat].</span>")
else if(fullness > 350 && fullness <= 550)
else if(fullness > 500 && fullness < 600)
to_chat(src, "<span class='notice'>You unwillingly chew a bit of [toEat].</span>")
else if(fullness > (550 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat
else if(fullness > (600 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat
to_chat(src, "<span class='warning'>You cannot force any more of [toEat] to go down your throat.</span>")
return 0
return 1
@@ -977,7 +981,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
return 1
/mob/living/carbon/proc/forceFed(var/obj/item/weapon/reagent_containers/food/toEat, mob/user, fullness)
if(fullness <= (550 * (1 + overeatduration / 1000)))
if(fullness <= (600 * (1 + overeatduration / 1000)))
if(!toEat.instant_application)
visible_message("<span class='warning'>[user] attempts to force [src] to [toEat.apply_method] [toEat].</span>")
else
@@ -1005,15 +1009,14 @@ so that different stomachs can handle things in different ways VB*/
/mob/living/carbon/proc/consume(var/obj/item/weapon/reagent_containers/food/toEat)
if(!toEat.reagents)
return
if(satiety > -200)
satiety -= toEat.junkiness
if(toEat.consume_sound)
playsound(loc, toEat.consume_sound, rand(10,50), 1)
if(toEat.reagents.total_volume)
toEat.reagents.reaction(src, toEat.apply_type)
spawn(0)
if(toEat.reagents.total_volume > toEat.bitesize)
toEat.reagents.trans_to(src, toEat.bitesize*toEat.transfer_efficiency)
else
toEat.reagents.trans_to(src, toEat.reagents.total_volume*toEat.transfer_efficiency)
var/fraction = min(toEat.bitesize/toEat.reagents.total_volume, 1)
toEat.reagents.reaction(src, toEat.apply_type, fraction)
toEat.reagents.trans_to(src, toEat.bitesize*toEat.transfer_efficiency)
/mob/living/carbon/get_access()
. = ..()
@@ -253,10 +253,10 @@
if(5)
msg += "[t_He] looks absolutely soaked.\n"
if(nutrition < 100)
if(nutrition < NUTRITION_LEVEL_STARVING - 50)
msg += "[t_He] [t_is] severely malnourished.\n"
else if(nutrition >= 500)
if(user.nutrition < 100)
else if(nutrition >= NUTRITION_LEVEL_FAT)
if(user.nutrition < NUTRITION_LEVEL_STARVING - 50)
msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n"
else
msg += "[t_He] [t_is] quite chubby.\n"
@@ -516,7 +516,7 @@
return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(H.glasses, /obj/item/clothing/glasses/hud/health/health_advanced) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical)
else
return 0
else if(istype(M, /mob/living/silicon))
else if(isrobot(M) || isAI(M)) //Stand-in/Stopgap to prevent pAIs from freely altering records, pending a more advanced Records system
switch(hudtype)
if("security")
return 1
@@ -351,9 +351,7 @@ emp_act
if(ismob(I.thrower))
var/mob/M = I.thrower
if(M)
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been hit with a [I], thrown by [key_name(M)]</font>")
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Hit [key_name(src)] with a thrown [I]</font>")
msg_admin_attack("[key_name_admin(src)] was hit by a [I], thrown by [key_name_admin(M)]", print_attack_log = I.throwforce)
add_logs(M, src, "hit", I, " (thrown)", print_attack_log = I.throwforce)
//thrown weapon embedded object code.
if(dtype == BRUTE && istype(I))
@@ -442,7 +442,7 @@
var/static/list/customableTypes = list(/obj/item/weapon/reagent_containers/food/snacks/customizable,/obj/item/weapon/reagent_containers/food/snacks/breadslice,/obj/item/weapon/reagent_containers/food/snacks/bun,/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti,/obj/item/trash/plate,/obj/item/trash/bowl)
var/static/list/rawtypes = list(/obj/item/weapon/reagent_containers/food/snacks/grown, /obj/item/weapon/reagent_containers/food/snacks/rawcutlet, /obj/item/weapon/reagent_containers/food/snacks/rawmeatball, /obj/item/weapon/reagent_containers/food/snacks/rawsticks, /obj/item/weapon/reagent_containers/food/snacks/salmonmeat, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, /obj/item/weapon/reagent_containers/food/snacks/catfishmeat, /obj/item/weapon/reagent_containers/food/snacks/spagetti, /obj/item/weapon/reagent_containers/food/snacks/dough_ball, /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/doughslice, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/boiledrice, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/raw_bacon)
var/static/list/rawtypes = list(/obj/item/weapon/reagent_containers/food/snacks/grown, /obj/item/weapon/reagent_containers/food/snacks/rawcutlet, /obj/item/weapon/reagent_containers/food/snacks/rawsticks, /obj/item/weapon/reagent_containers/food/snacks/salmonmeat, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, /obj/item/weapon/reagent_containers/food/snacks/catfishmeat, /obj/item/weapon/reagent_containers/food/snacks/spagetti, /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/doughslice, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/boiledrice, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/raw_bacon)
try
var/list/allContents = getAllContents()
+34 -24
View File
@@ -506,17 +506,14 @@
//END FIRE CODE
/mob/living/carbon/human/proc/stabilize_temperature_from_calories()
var/body_temperature_difference = species.body_temperature - bodytemperature
if(bodytemperature <= species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects.
if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up.
nutrition -= 2
var/body_temperature_difference = species.body_temperature - bodytemperature
bodytemperature += max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
bodytemperature += max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
if(bodytemperature >= species.cold_level_1 && bodytemperature <= species.heat_level_1)
var/body_temperature_difference = species.body_temperature - bodytemperature
bodytemperature += body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR
bodytemperature += body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR
if(bodytemperature >= species.heat_level_1) //360.15 is 310.15 + 50, the temperature where you start to feel effects.
//We totally need a sweat system cause it totally makes sense...~
var/body_temperature_difference = species.body_temperature - bodytemperature
bodytemperature += min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers
@@ -676,11 +673,20 @@
becomeFat()
// nutrition decrease
if(nutrition > 0 && stat != 2)
nutrition = max (0, nutrition - HUNGER_FACTOR)
if(nutrition > 0 && stat != DEAD)
// THEY HUNGER
var/hunger_rate = HUNGER_FACTOR
if(satiety > 0)
satiety--
if(satiety < 0)
satiety++
if(prob(round(-satiety/40)))
Jitter(5)
hunger_rate = 3 * HUNGER_FACTOR
nutrition = max(0, nutrition - hunger_rate)
if(nutrition > 450)
if(overeatduration < 800) //capped so people don't take forever to unfat
if(nutrition > NUTRITION_LEVEL_FULL)
if(overeatduration < 600) //capped so people don't take forever to unfat
overeatduration++
else
@@ -690,6 +696,22 @@
else
overeatduration -= 2
//metabolism change
if(nutrition > NUTRITION_LEVEL_FAT)
metabolism_efficiency = 1
else if(nutrition > NUTRITION_LEVEL_FED && satiety > 80)
if(metabolism_efficiency != 1.25)
to_chat(src, "<span class='notice'>You feel vigorous.</span>")
metabolism_efficiency = 1.25
else if(nutrition < NUTRITION_LEVEL_STARVING + 50)
if(metabolism_efficiency != 0.8)
to_chat(src, "<span class='notice'>You feel sluggish.</span>")
metabolism_efficiency = 0.8
else
if(metabolism_efficiency == 1.25)
to_chat(src, "<span class='notice'>You no longer feel vigorous.</span>")
metabolism_efficiency = 1
if(drowsyness)
AdjustDrowsy(-1)
EyeBlurry(2)
@@ -932,20 +954,8 @@
if(getToxLoss() >= 45 && nutrition > 20)
lastpuke ++
if(lastpuke >= 25) // about 25 second delay I guess
Stun(5)
visible_message("<span class='danger'>[src] throws up!</span>", \
"<span class='userdanger'>[src] throws up!</span>")
playsound(loc, 'sound/effects/splat.ogg', 50, 1)
var/turf/location = loc
if(istype(location, /turf/simulated))
location.add_vomit_floor(src, 1)
nutrition -= 20
vomit(20, 0, 1, 0, 1)
adjustToxLoss(-3)
// make it so you can only puke so fast
lastpuke = 0
//0.1% chance of playing a scary sound to someone who's in complete darkness
@@ -559,8 +559,12 @@
switch(H.nutrition)
if(NUTRITION_LEVEL_FULL to INFINITY)
H.throw_alert("nutrition", /obj/screen/alert/fat)
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FULL)
H.clear_alert("nutrition")
if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
H.throw_alert("nutrition", /obj/screen/alert/full)
if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
H.throw_alert("nutrition", /obj/screen/alert/well_fed)
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
H.throw_alert("nutrition", /obj/screen/alert/fed)
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
H.throw_alert("nutrition", /obj/screen/alert/hungry)
else
@@ -817,8 +817,8 @@
H.nutrition += light_amount
H.traumatic_shock -= light_amount
if(H.nutrition > 450)
H.nutrition = 450
if(H.nutrition > NUTRITION_LEVEL_WELL_FED)
H.nutrition = NUTRITION_LEVEL_WELL_FED
if(light_amount > 0)
H.clear_alert("nolight")
+1 -1
View File
@@ -345,7 +345,7 @@
SetDruggy(0)
SetHallucinate(0)
blinded = 0
nutrition = 400
nutrition = NUTRITION_LEVEL_FED + 50
bodytemperature = 310
CureBlind()
CureNearsighted()
@@ -32,6 +32,7 @@
var/implanting = 0 //Used for the mind-slave implant
var/floating = 0
var/mob_size = MOB_SIZE_HUMAN
var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
var/nightvision = 0
var/bloodcrawl = 0 //0 No blood crawling, 1 blood crawling, 2 blood crawling+mob devour
+22 -6
View File
@@ -408,9 +408,22 @@ proc/get_radio_key_from_channel(var/channel)
return
var/atom/whisper_loc = get_whisper_loc()
var/list/listening = hearers(message_range, whisper_loc)
var/list/listening = hear(message_range, whisper_loc)
listening |= src
var/list/hearturfs = list()
//Pass whispers on to anything inside the immediate listeners.
// This comes before the ghosts do so that ghosts don't act as whisper relays
for(var/atom/L in listening)
if(ismob(L))
for(var/mob/C in L.contents)
if(isliving(C))
listening += C
hearturfs += get_turf(L)
if(isobj(L))
hearturfs += get_turf(L)
//ghosts
for(var/mob/M in dead_mob_list) //does this include players who joined as observers as well?
if(!M.client)
@@ -418,11 +431,14 @@ proc/get_radio_key_from_channel(var/channel)
if(M.stat == DEAD && M.client && M.get_preference(CHAT_GHOSTEARS))
listening |= M
//Pass whispers on to anything inside the immediate listeners.
for(var/mob/L in listening)
for(var/mob/C in L.contents)
if(isliving(C))
listening += C
// This, in tandem with "hearturfs", lets nested mobs hear whispers that are in range
// Grifted from saycode above.
for(var/mob/M in player_list)
if(!M.client || isnewplayer(M))
continue //skip monkeys and leavers
if(get_turf(M) in hearturfs)
listening |= M
//pass on the message to objects that can hear us.
for(var/obj/O in view(message_range, whisper_loc))
@@ -24,6 +24,5 @@
//Read as: I have no idea what I'm doing but asking for help got me nowhere so this is what you get. - Nodrak
if(mind) qdel(mind)
living_mob_list -= src
ghostize()
if(icon_state != "[chassis]_dead" || cleanWipe)
qdel(src)
+8 -3
View File
@@ -114,6 +114,11 @@
C.toff = 1
..()
/mob/living/silicon/pai/update_icons()
if(stat == DEAD)
icon_state = "[chassis]_dead"
else
icon_state = resting ? "[chassis]_rest" : "[chassis]"
// this function shows the information about being silenced as a pAI in the Status panel
/mob/living/silicon/pai/proc/show_silenced()
@@ -420,17 +425,17 @@
set category = "IC"
// Pass lying down or getting up to our pet human, if we're in a rig.
if(istype(src.loc,/obj/item/device/paicard))
if(stat == CONSCIOUS && istype(src.loc,/obj/item/device/paicard))
resting = 0
var/obj/item/weapon/rig/rig = src.get_rig()
if(istype(rig))
rig.force_rest(src)
else
resting = !resting
icon_state = resting ? "[chassis]_rest" : "[chassis]"
to_chat(src, "<span class='notice'>You are now [resting ? "resting" : "getting up"]</span>")
canmove = !resting
update_icons()
update_canmove()
//Overriding this will stop a number of headaches down the track.
/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
@@ -28,6 +28,9 @@ var/datum/paiController/paiController // Global handler for pAI candidates
if("signup" in href_list)
var/mob/dead/observer/O = locate(href_list["signup"])
if(!O) return
if(!(O in respawnable_list))
to_chat(O, "You've given up your ability to respawn!")
return
if(!check_recruit(O)) return
recruitWindow(O)
return
@@ -361,6 +364,8 @@ var/datum/paiController/paiController // Global handler for pAI candidates
return 0
if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
return 0
if(!(O in respawnable_list))
return 0
if(O.client)
return 1
return 0
+7 -4
View File
@@ -6,8 +6,11 @@
/mob/living/silicon/pai/get_whisper_loc()
if(loc == card) // currently in its card?
if(istype(card.loc, /mob/living))
return card.loc // allow a pai being held or in pocket to whisper
var/atom/movable/whisper_loc = card
if(istype(card.loc, /obj/item/device/pda)) // Step up 1 level if in a PDA
whisper_loc = card.loc
if(istype(whisper_loc.loc, /mob/living))
return whisper_loc.loc // allow a pai being held or in pocket to whisper
else
return card // allow a pai in its card to whisper
return ..()
return whisper_loc // allow a pai in its card to whisper
return ..()
@@ -14,10 +14,6 @@
return 0
O.mouse_opacity = 2
if(istype(O,/obj/item/borg/sight))
var/obj/item/borg/sight/S = O
sight_mode &= ~S.sight_mode
update_sight()
if(client)
client.screen -= O
@@ -53,7 +49,6 @@
if((cell.charge * 100 / cell.maxcharge) < B.powerneeded)
to_chat(src, "Not enough power to activate [B.name]!")
return
var/activated_thingy = null
if(!module_state_1)
O.mouse_opacity = initial(O.mouse_opacity)
module_state_1 = O
@@ -61,7 +56,6 @@
O.plane = HUD_PLANE
O.screen_loc = inv1.screen_loc
contents += O
activated_thingy = O
else if(!module_state_2)
O.mouse_opacity = initial(O.mouse_opacity)
module_state_2 = O
@@ -69,7 +63,6 @@
O.plane = HUD_PLANE
O.screen_loc = inv2.screen_loc
contents += O
activated_thingy = O
else if(!module_state_3)
O.mouse_opacity = initial(O.mouse_opacity)
module_state_3 = O
@@ -77,11 +70,8 @@
O.plane = HUD_PLANE
O.screen_loc = inv3.screen_loc
contents += O
activated_thingy = O
else
to_chat(src, "You need to disable a module first!")
if(istype(activated_thingy,/obj/item/borg/sight))
update_sight()
update_icons()
/mob/living/silicon/robot/proc/uneq_active()
+11 -14
View File
@@ -86,6 +86,7 @@ var/list/robot_verbs_default = list(
var/datum/effect/system/ion_trail_follow/ion_trail // Ionpulse effect.
var/datum/action/item_action/toggle_research_scanner/scanner = null
var/list/module_actions = list()
/mob/living/silicon/robot/New(loc,var/syndie = 0,var/unfinished = 0, var/alien = 0)
spark_system = new /datum/effect/system/spark_spread()
@@ -371,7 +372,7 @@ var/list/robot_verbs_default = list(
//languages
module.add_languages(src)
//subsystems
module.add_subsystems(src)
module.add_subsystems_and_actions(src)
//Custom_sprite check and entry
if(custom_sprite == 1)
@@ -976,21 +977,17 @@ var/list/robot_verbs_default = list(
else
overlays -= "eyes"
if(opened && custom_sprite == 1) //Custom borgs also have custom panels, heh
if(wiresexposed)
overlays += "[src.ckey]-openpanel +w"
else if(cell)
overlays += "[src.ckey]-openpanel +c"
else
overlays += "[src.ckey]-openpanel -c"
if(opened)
var/panelprefix = "ov"
if(custom_sprite) //Custom borgs also have custom panels, heh
panelprefix = "[ckey]"
if(wiresexposed)
overlays += "ov-openpanel +w"
overlays += "[panelprefix]-openpanel +w"
else if(cell)
overlays += "ov-openpanel +c"
overlays += "[panelprefix]-openpanel +c"
else
overlays += "ov-openpanel -c"
overlays += "[panelprefix]-openpanel -c"
var/combat = list("Combat","Peacekeeper")
if(modtype in combat)
@@ -1424,7 +1421,7 @@ var/list/robot_verbs_default = list(
//languages
module.add_languages(src)
//subsystems
module.add_subsystems(src)
module.add_subsystems_and_actions(src)
status_flags &= ~CANPUSH
@@ -1443,7 +1440,7 @@ var/list/robot_verbs_default = list(
//languages
module.add_languages(src)
//subsystems
module.add_subsystems(src)
module.add_subsystems_and_actions(src)
status_flags &= ~CANPUSH
@@ -0,0 +1,37 @@
/datum/action/innate/robot_sight
var/sight_mode = null
icon_icon = 'icons/obj/decals.dmi'
button_icon_state = "securearea"
/datum/action/innate/robot_sight/Activate()
var/mob/living/silicon/robot/R = owner
R.sight_mode |= sight_mode
R.update_sight()
active = 1
/datum/action/innate/robot_sight/Deactivate()
var/mob/living/silicon/robot/R = owner
R.sight_mode &= ~sight_mode
R.update_sight()
active = 0
/datum/action/innate/robot_sight/xray
name = "X-ray Vision"
sight_mode = BORGXRAY
/datum/action/innate/robot_sight/thermal
name = "Thermal Vision"
sight_mode = BORGTHERM
icon_icon = 'icons/obj/clothing/glasses.dmi'
button_icon_state = "thermal"
// ayylmao
/datum/action/innate/robot_sight/thermal/alien
icon_icon = 'icons/mob/alien.dmi'
button_icon_state = "borg-extra-vision"
/datum/action/innate/robot_sight/meson
name = "Meson Vision"
sight_mode = BORGMESON
icon_icon = 'icons/obj/clothing/glasses.dmi'
button_icon_state = "meson"
@@ -9,6 +9,7 @@
var/list/modules = list()
var/obj/item/emag = null
var/list/subsystems = list()
var/list/module_actions = list()
var/module_type = "NoMod" // For icon usage
@@ -92,11 +93,19 @@
R.add_language("Orluum", 0)
R.add_language("Clownish",0)
/obj/item/weapon/robot_module/proc/add_subsystems(mob/living/silicon/robot/R)
/obj/item/weapon/robot_module/proc/add_subsystems_and_actions(mob/living/silicon/robot/R)
R.verbs |= subsystems
for(var/A in module_actions)
var/datum/action/act = new A()
act.Grant(R)
R.module_actions += act
/obj/item/weapon/robot_module/proc/remove_subsystems(mob/living/silicon/robot/R)
/obj/item/weapon/robot_module/proc/remove_subsystems_and_actions(mob/living/silicon/robot/R)
R.verbs -= subsystems
for(var/datum/action/A in R.module_actions)
A.Remove(R)
qdel(A)
R.module_actions.Cut()
/obj/item/weapon/robot_module/standard
name = "standard robot module"
@@ -166,6 +175,9 @@
name = "engineering robot module"
module_type = "Engineer"
subsystems = list(/mob/living/silicon/proc/subsystem_power_monitor)
module_actions = list(
/datum/action/innate/robot_sight/meson,
)
stacktypes = list(
/obj/item/stack/sheet/metal/cyborg = 50,
@@ -178,7 +190,6 @@
/obj/item/weapon/robot_module/engineering/New()
..()
modules += new /obj/item/borg/sight/meson(src)
modules += new /obj/item/weapon/rcd/borg(src)
modules += new /obj/item/weapon/extinguisher(src)
modules += new /obj/item/weapon/weldingtool/largetank/cyborg(src)
@@ -297,10 +308,12 @@
/obj/item/weapon/robot_module/miner
name = "miner robot module"
module_type = "Miner"
module_actions = list(
/datum/action/innate/robot_sight/meson,
)
/obj/item/weapon/robot_module/miner/New()
..()
modules += new /obj/item/borg/sight/meson(src)
modules += new /obj/item/weapon/storage/bag/ore/cyborg(src)
modules += new /obj/item/weapon/pickaxe/drill/cyborg(src)
modules += new /obj/item/weapon/shovel(src)
@@ -317,10 +330,12 @@
/obj/item/weapon/robot_module/deathsquad
name = "NT advanced combat module"
module_type = "Malf"
module_actions = list(
/datum/action/innate/robot_sight/thermal,
)
/obj/item/weapon/robot_module/deathsquad/New()
..()
modules += new /obj/item/borg/sight/thermal(src)
modules += new /obj/item/weapon/melee/energy/sword/cyborg(src)
modules += new /obj/item/weapon/gun/energy/pulse/cyborg(src)
modules += new /obj/item/weapon/crowbar(src)
@@ -385,11 +400,13 @@
/obj/item/weapon/robot_module/combat
name = "combat robot module"
module_type = "Malf"
module_actions = list(
/datum/action/innate/robot_sight/thermal,
)
/obj/item/weapon/robot_module/combat/New()
..()
modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src)
modules += new /obj/item/borg/sight/thermal(src)
modules += new /obj/item/weapon/gun/energy/gun/cyborg(src)
modules += new /obj/item/weapon/pickaxe/drill/jackhammer(src)
modules += new /obj/item/borg/combat/shield(src)
@@ -418,11 +435,13 @@
/obj/item/weapon/robot_module/alien/hunter
name = "alien hunter module"
module_type = "Standard"
module_actions = list(
/datum/action/innate/robot_sight/thermal/alien,
)
/obj/item/weapon/robot_module/alien/hunter/New()
modules += new /obj/item/weapon/melee/energy/alien/claws(src)
modules += new /obj/item/device/flash/cyborg/alien(src)
modules += new /obj/item/borg/sight/thermal/alien(src)
var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src)
S.reagents.add_reagent("ether",250) //nerfed to sleeptoxin to make it less instant drop.
modules += S
+2 -1
View File
@@ -67,7 +67,8 @@
var/bodytemperature = 310.055 //98.7 F
var/flying = 0
var/charges = 0.0
var/nutrition = 400.0//Carbon
var/nutrition = NUTRITION_LEVEL_FED + 50 //Carbon
var/satiety = 0 //Carbon
var/overeatduration = 0 // How long this guy is overeating //Carbon
var/intent = null//Living
@@ -494,6 +494,9 @@
if(mind.assigned_role == "Clown") //give them a clownname if they are a clown
new_character.real_name = pick(clown_names) //I hate this being here of all places but unfortunately dna is based on real_name!
new_character.rename_self("clown")
else if(mind.assigned_role == "Mime")
new_character.real_name = pick(mime_names)
new_character.rename_self("mime")
else if(new_character.species == "Diona")
new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name!
new_character.rename_self("diona")
+1 -1
View File
@@ -15,7 +15,7 @@
return STATUS_UPDATE // Ghosts can view updates
/mob/living/silicon/pai/default_can_use_topic(var/src_object)
if(src_object == src && !stat)
if((src_object == src || src_object == radio) && stat == CONSCIOUS)
return STATUS_INTERACTIVE
else
return ..()
+3 -3
View File
@@ -678,7 +678,7 @@
to_chat(H, "<span class='warning'>The APC power currents surge erratically, damaging your chassis!</span>")
H.adjustFireLoss(10,0)
else if(src.cell && src.cell.charge > 0)
if(H.nutrition < 450)
if(H.nutrition < NUTRITION_LEVEL_WELL_FED)
if(src.cell.charge >= 500)
H.nutrition += 50
src.cell.charge -= 500
@@ -689,8 +689,8 @@
to_chat(user, "<span class='notice'>You slot your fingers into the APC interface and siphon off some of the stored charge for your own use.</span>")
if(src.cell.charge < 0)
src.cell.charge = 0
if(H.nutrition > 500)
H.nutrition = 500
if(H.nutrition > NUTRITION_LEVEL_WELL_FED + 50)
H.nutrition = NUTRITION_LEVEL_WELL_FED + 50
src.charging = 1
else
to_chat(user, "<span class='notice'>You are already fully charged.</span>")
+1 -1
View File
@@ -68,7 +68,7 @@
var/message ="<span class='warning'>You irradiate yourself with pure energy! "
message += pick("Do not pass go. Do not collect 200 zorkmids.</span>","You feel more confident in your spell casting skills.</span>","You Die...</span>","Do you want your possessions identified?</span>")
to_chat(user, message)
user.adjustFireLoss(500)
user.adjustFireLoss(3000)
charges--
..()
+6 -3
View File
@@ -10,9 +10,6 @@
/obj/item/projectile/magic/death
name = "bolt of death"
icon_state = "pulse1_bl"
damage_type = BURN //OXY does not kill IPCs
damage = 50000
nodamage = 0
/obj/item/projectile/magic/fireball
name = "bolt of fireball"
@@ -27,6 +24,12 @@
var/exp_flash = 3
var/exp_fire = 2
/obj/item/projectile/magic/death/on_hit(var/mob/living/carbon/G)
. = ..()
if(isliving(G))
G.adjustFireLoss(3000)
visible_message("<span class='danger'>[G] topples backwards as the death bolt impacts them!</span>")
/obj/item/projectile/magic/fireball/Range()
var/turf/T1 = get_step(src,turn(dir, -45))
var/turf/T2 = get_step(src,turn(dir, 45))
@@ -136,12 +136,11 @@
var/mob/living/M = target
if(ishuman(target))
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
if(H.species.flags & IS_PLANT)
if(prob(15))
M.apply_effect((rand(30,80)),IRRADIATE)
M.Weaken(5)
for(var/mob/V in viewers(src))
V.show_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
M.visible_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", "<span class='userdanger'>You writhe in pain as your vacuoles boil!</span>", "<span class='italics'>You hear the crunching of leaves.</span>")
if(prob(35))
if(prob(80))
randmutb(M)
@@ -152,7 +151,7 @@
else
M.adjustFireLoss(rand(5,15))
M.show_message("<span class='warning'>The radiation beam singes you!</span>")
else if(istype(target, /mob/living/carbon/))
else if(iscarbon(target))
M.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
else
return 1
@@ -170,9 +169,9 @@
var/mob/M = target
if(ishuman(target)) //These rays make plantmen fat.
var/mob/living/carbon/human/H = M
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
M.nutrition += 30
else if(istype(target, /mob/living/carbon/))
if(H.species.flags & IS_PLANT)
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
else if(iscarbon(target))
M.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
else
return 1
+1 -1
View File
@@ -73,7 +73,7 @@
/datum/reagent/proc/on_mob_life(mob/living/M)
current_cycle++
holder.remove_reagent(id, metabolization_rate) //By default it slowly disappears.
holder.remove_reagent(id, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
/datum/reagent/proc/on_mob_death(mob/living/M) //use this to have chems have a "death-triggered" effect
return
@@ -37,7 +37,7 @@
name = "Beer"
id = "beer"
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
nutriment_factor = 2 * REAGENTS_METABOLISM
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#664300" // rgb: 102, 67, 0
alcohol_perc = 0.2
drink_icon ="beerglass"
@@ -49,6 +49,7 @@
id = "cider"
description = "An alcoholic beverage derived from apples."
color = "#174116"
nutriment_factor = 1 * REAGENTS_METABOLISM
alcohol_perc = 0.2
drink_icon = "rewriter"
drink_name = "Cider"
@@ -217,6 +218,7 @@
description = "A potent mixture of caffeine and alcohol."
reagent_state = LIQUID
color = "#102000" // rgb: 16, 32, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
alcohol_perc = 0.3
heart_rate_increase = 1
drink_icon = "thirteen_loko_glass"
@@ -240,6 +242,7 @@
description = "This appears to be beer mixed with milk. Disgusting."
reagent_state = LIQUID
color = "#895C4C" // rgb: 137, 92, 76
nutriment_factor = 2 * REAGENTS_METABOLISM
alcohol_perc = 0.2
drink_icon = "glass_brown"
drink_name = "Glass of bilk"
@@ -714,6 +717,7 @@
description = "A Vikings drink, though a cheap one."
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
alcohol_perc = 0.2
drink_icon = "meadglass"
drink_name = "Mead"
@@ -213,7 +213,7 @@
name = "Hot Chocolate"
id = "hot_coco"
description = "Made with love! And coco beans."
nutriment_factor = 2 * REAGENTS_METABOLISM
nutriment_factor = 3 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
adj_temp_hot = 5
drink_icon = "hot_coco"
@@ -225,6 +225,7 @@
id = "coffee"
description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
color = "#482000" // rgb: 72, 32, 0
nutriment_factor = 0
adj_dizzy = -5
adj_drowsy = -3
adj_sleepy = -2
@@ -307,6 +308,7 @@
id = "tea"
description = "Tasty black tea: It has antioxidants. It's good for you!"
color = "#101000" // rgb: 16, 16, 0
nutriment_factor = 0
adj_dizzy = -2
adj_drowsy = -1
adj_sleepy = -3
@@ -21,7 +21,7 @@
id = "nutriment"
description = "A questionable mixture of various pure nutrients commonly found in processed foods."
reagent_state = SOLID
nutriment_factor = 12 * REAGENTS_METABOLISM
nutriment_factor = 15 * REAGENTS_METABOLISM
color = "#664330" // rgb: 102, 67, 48
/datum/reagent/consumable/nutriment/on_mob_life(mob/living/M)
@@ -42,14 +42,12 @@
name = "Protein"
id = "protein"
description = "Various essential proteins and fats commonly found in animal flesh and blood."
nutriment_factor = 15 * REAGENTS_METABOLISM
diet_flags = DIET_CARN | DIET_OMNI
/datum/reagent/consumable/nutriment/plantmatter // Plant-based biomatter, digestable by herbivores and omnivores, worthless to carnivores
name = "Plant-matter"
id = "plantmatter"
description = "Vitamin-rich fibers and natural sugars commonly found in fresh produce."
nutriment_factor = 15 * REAGENTS_METABOLISM
diet_flags = DIET_HERB | DIET_OMNI
/datum/reagent/consumable/vitamin
@@ -63,6 +61,8 @@
if(prob(50))
M.adjustBruteLoss(-1)
M.adjustFireLoss(-1)
if(M.satiety < 600)
M.satiety += 30
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species.exotic_blood)
@@ -72,6 +72,38 @@
H.vessel.add_reagent("blood", 0.5)
..()
/datum/reagent/consumable/sugar
name = "Sugar"
id = "sugar"
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 255, 255, 255
nutriment_factor = 5 * REAGENTS_METABOLISM
overdose_threshold = 200 // Hyperglycaemic shock
/datum/reagent/consumable/sugar/on_mob_life(mob/living/M)
M.AdjustDrowsy(-5)
if(current_cycle >= 90)
M.AdjustJitter(2)
if(prob(50))
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
if(prob(4))
M.reagents.add_reagent("epinephrine", 1.2)
..()
/datum/reagent/consumable/sugar/overdose_start(mob/living/M)
to_chat(M, "<span class='danger'>You pass out from hyperglycemic shock!</span>")
M.emote("collapse")
..()
/datum/reagent/consumable/sugar/overdose_process(mob/living/M, severity)
M.Paralyse(3 * severity)
M.Weaken(4 * severity)
if(prob(8))
M.adjustToxLoss(severity)
/datum/reagent/consumable/soysauce
name = "Soysauce"
id = "soysauce"
@@ -351,6 +383,7 @@
id = "rice"
description = "Enjoy the great taste of nothing."
reagent_state = SOLID
nutriment_factor = 3 * REAGENTS_METABOLISM
color = "#FFFFFF" // rgb: 0, 0, 0
/datum/reagent/consumable/cherryjelly
@@ -409,9 +442,10 @@
description = "A sweet substance produced by bees through partial digestion. Bee barf."
reagent_state = LIQUID
color = "#d3a308"
nutriment_factor = 15 * REAGENTS_METABOLISM
/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
M.reagents.add_reagent("sugar", 0.4)
M.reagents.add_reagent("sugar", 3)
if(prob(20))
M.adjustBruteLoss(-3)
M.adjustFireLoss(-1)
@@ -483,8 +517,6 @@
description = "Some cheese. Pour it out to make it solid."
reagent_state = SOLID
color = "#FFFF00"
metabolization_rate = 0 //heheheh
nutriment_factor = 0
/datum/reagent/consumable/cheese/on_mob_life(mob/living/M)
if(prob(3))
@@ -514,9 +546,7 @@
description = "Hell, I don't even know if this IS cheese. Whatever it is, it ain't normal. If you want to, pour it out to make it solid."
reagent_state = SOLID
color = "#50FF00"
metabolization_rate = 0 //heheheh
addiction_chance = 5
nutriment_factor = 0
/datum/reagent/consumable/weird_cheese/on_mob_life(mob/living/M)
if(prob(5))
@@ -671,37 +701,6 @@
///Food Related, but non-nutritious
/datum/reagent/sugar
name = "Sugar"
id = "sugar"
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 255, 255, 255
overdose_threshold = 200 // Hyperglycaemic shock
/datum/reagent/sugar/on_mob_life(mob/living/M)
M.AdjustDrowsy(-5)
if(current_cycle >= 90)
M.AdjustJitter(2)
if(prob(50))
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
if(prob(4))
M.reagents.add_reagent("epinephrine", 1.2)
..()
/datum/reagent/sugar/overdose_start(mob/living/M)
to_chat(M, "<span class='danger'>You pass out from hyperglycemic shock!</span>")
M.emote("collapse")
..()
/datum/reagent/sugar/overdose_process(mob/living/M, severity)
M.Paralyse(3 * severity)
M.Weaken(4 * severity)
if(prob(8))
M.adjustToxLoss(severity)
/datum/reagent/questionmark // food poisoning
name = "????"
id = "????"
@@ -2,6 +2,10 @@
name = "Medicine"
id = "medicine"
/datum/reagent/medicine/on_mob_life(mob/living/M)
current_cycle++
holder.remove_reagent(id, metabolization_rate / M.metabolism_efficiency) //medicine reagents stay longer if you have a better metabolism
/datum/reagent/medicine/hydrocodone
name = "Hydrocodone"
id = "hydrocodone"
@@ -343,28 +343,31 @@
category = list("Computer Boards")
datum/design/GAC
name = "Circuit Design (General Air Control)"
name = "Console Board (General Air Control)"
desc = "Allows for the construction of circuit boards used to build a General Air Control Computer."
id = "GAC"
req_tech = list("programming" = 3, "magnets" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/air_management
category = list("Computer Boards")
datum/design/tank_control
name = "Circuit Design (Large Tank Control)"
name = "Console Board (Large Tank Control)"
desc = "Allows for the construction of circuit boards used to build a Large Tank Control Computer."
id = "tankcontrol"
req_tech = list("programming" = 3, "magnets" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/large_tank_control
category = list("Computer Boards")
datum/design/AAC
name = "Circuit Design (Atmospheric Automations Console)"
desc = "Allows for the construction of circuit boards used to build an Atmospheric Autmations Console."
name = "Console Board (Atmospheric Automations Console)"
desc = "Allows for the construction of circuit boards used to build an Atmospheric Automations Console."
id = "AAC"
req_tech = list("programming" = 4, "magnets" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/atmos_automation
build_path = /obj/item/weapon/circuitboard/atmos_automation
category = list("Computer Boards")
@@ -164,7 +164,7 @@
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
icon_state = "chest_implant"
implant_color = "#00AA00"
var/hunger_threshold = 150
var/hunger_threshold = NUTRITION_LEVEL_STARVING
var/synthesizing = 0
var/poison_amount = 5
slot = "stomach"
@@ -195,7 +195,7 @@
desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
icon_state = "chest_implant"
implant_color = "#006607"
hunger_threshold = 300
hunger_threshold = NUTRITION_LEVEL_HUNGRY
poison_amount = 10
origin_tech = "materials=5;programming=3;biotech=5"
+1 -1
View File
@@ -66,7 +66,7 @@
if(mind) //Handles vampires "eating" blood that isn't their own.
if(mind in ticker.mode.vampires)
for(var/datum/reagent/blood/BL in vessel.reagent_list)
if(nutrition >= 450)
if(nutrition >= NUTRITION_LEVEL_WELL_FED)
break //We don't want blood tranfusions making vampires fat.
if(BL.data["donor"] != src)
nutrition += (15 * REAGENTS_METABOLISM)
@@ -103,7 +103,7 @@
can_stand = 1
/obj/item/organ/external/foot/remove()
if(owner.shoes) owner.unEquip(owner.shoes)
if(owner && owner.shoes) owner.unEquip(owner.shoes)
. = ..()
/obj/item/organ/external/foot/right
@@ -128,12 +128,13 @@
can_grasp = 1
/obj/item/organ/external/hand/remove()
if(owner.gloves)
owner.unEquip(owner.gloves)
if(owner.l_hand)
owner.unEquip(owner.l_hand,1)
if(owner.r_hand)
owner.unEquip(owner.r_hand,1)
if(owner)
if(owner.gloves)
owner.unEquip(owner.gloves)
if(owner.l_hand)
owner.unEquip(owner.l_hand,1)
if(owner.r_hand)
owner.unEquip(owner.r_hand,1)
. = ..()
+24
View File
@@ -0,0 +1,24 @@
Invisible Man
Lemon Mime
Marcel
Marcel Mime
Mime
Mr Beret
Mr Mime
Mr Mute
Mute
Omerta
Oui Oui
Pantomime
Quiet
Quiet Riot
Silence
Silencio
Silent Knight
Silent Majority
Silent Night
Silent Sorrow
Transparency
Unspeakable
Untouchable
Wall Runner
+1 -1
View File
@@ -86,7 +86,7 @@ if (typeof String.prototype.trim !== 'function') {
//Shit fucking piece of crap that doesn't work god fuckin damn it
function linkify(text) {
var rex = /((?:<a|<iframe|<img)(?:.*?(?:src="|href=").*?))?(?:(?:https?:\/\/)|(?:www\.))+(?:[^ ]*?\.[^ ]*?)+[-A-Za-z0-9+&@#\/%?=~_|$!:,.;]+/ig;
var rex = /((?:<a|<iframe|<img)(?:.*?(?:src=["']|href=["']).*?))?(?:(?:https?:\/\/)|(?:www\.))+(?:[^ ]*?\.[^ ]*?)+[-A-Za-z0-9+&@#\/%?=~_|$!:,.;]+/ig;
return text.replace(rex, function ($0, $1) {
if(/^https?:\/\/.+/i.test($0)) {
return $1 ? $0: '<a href="'+$0+'">'+$0+'</a>';
+60
View File
@@ -55,6 +55,66 @@
-->
<div class="commit sansserif">
<h2 class="date">11 January 2017</h2>
<h3 class="author">Crazylemon64 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Ghosts can now see if they're allowed to respawn or not at a glance</li>
<li class="rscadd">Cyborg sight modes are now actions, instead of items</li>
<li class="bugfix">Mining drones can now use meson sight again</li>
<li class="bugfix">It's no longer opposite day for the karma reminder preference</li>
</ul>
<h3 class="author">Lady Luck updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">office laptops are now traversable</li>
</ul>
<h3 class="author">Markolie updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">simple_animals now have an attack cooldown when attacking mechas.</li>
</ul>
<h3 class="author">uraniummeltdown updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Atmos Console Boards now show in Computer Boards of Circuit Imprinter</li>
</ul>
<h2 class="date">10 January 2017</h2>
<h3 class="author">Crazylemon updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Giant spiders now have their own role pref</li>
</ul>
<h3 class="author">Crazylemon64 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">pAIs can now adjust their radios</li>
<li class="bugfix">pAIs can now more reliably hear nearby whispers</li>
<li class="bugfix">pAIs can now whisper while inside a PDA</li>
<li class="bugfix">pAIs can no longer change their icon from being dead, while dead</li>
<li class="bugfix">Non-respawnable players are no longer prompted to submit a pAI when the opportunity is available</li>
<li class="bugfix">Borg sight modules work again</li>
</ul>
<h3 class="author">Fox McCloud updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">different alert levels for how full you are from starving all the way to fat</li>
<li class="rscadd">There is now satiety and nutrition; being satisfied and full has a number of positive benefits; being unsatisfied and hungry has negative side effects</li>
<li class="rscadd">Some foods have vitamins in them which provide little nutrition, but greatly increase your satisfaction</li>
<li class="tweak">Some food reagents have had their nutritional values tweaked</li>
<li class="tweak">reagent numbers tweaked on most food items</li>
<li class="bugfix">Fixes the floral gun not properly working on Diona</li>
</ul>
<h3 class="author">TullyBurnalot updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Wand of Death now reliably kills people by adding 300 Burn Damage. This includes self-casting</li>
<li class="rscadd">Minor flavour text visible on impact of target</li>
<li class="tweak">pAI HUDs are now visual-only, restricting their access to editable records</li>
</ul>
<h3 class="author">pinatacolada updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">IV drips now have adjustable rates</li>
</ul>
<h3 class="author">uraniummeltdown updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Mimes can now choose name on entry just like Clowns</li>
<li class="rscadd">Added many new costumes to the Autodrobe!</li>
</ul>
<h2 class="date">09 January 2017</h2>
<h3 class="author">Crazylemon64 updated:</h3>
<ul class="changes bgimages16">
+43
View File
@@ -3290,3 +3290,46 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
Kyep:
- bugfix: Antags should no longer get bounced to lobby at round start in certain
rare situations.
2017-01-10:
Crazylemon:
- tweak: Giant spiders now have their own role pref
Crazylemon64:
- bugfix: pAIs can now adjust their radios
- bugfix: pAIs can now more reliably hear nearby whispers
- bugfix: pAIs can now whisper while inside a PDA
- bugfix: pAIs can no longer change their icon from being dead, while dead
- bugfix: Non-respawnable players are no longer prompted to submit a pAI when the
opportunity is available
- bugfix: Borg sight modules work again
Fox McCloud:
- rscadd: different alert levels for how full you are from starving all the way
to fat
- rscadd: There is now satiety and nutrition; being satisfied and full has a number
of positive benefits; being unsatisfied and hungry has negative side effects
- rscadd: Some foods have vitamins in them which provide little nutrition, but greatly
increase your satisfaction
- tweak: Some food reagents have had their nutritional values tweaked
- tweak: reagent numbers tweaked on most food items
- bugfix: Fixes the floral gun not properly working on Diona
TullyBurnalot:
- bugfix: Wand of Death now reliably kills people by adding 300 Burn Damage. This
includes self-casting
- rscadd: Minor flavour text visible on impact of target
- tweak: pAI HUDs are now visual-only, restricting their access to editable records
pinatacolada:
- tweak: IV drips now have adjustable rates
uraniummeltdown:
- rscadd: Mimes can now choose name on entry just like Clowns
- rscadd: Added many new costumes to the Autodrobe!
2017-01-11:
Crazylemon64:
- rscadd: Ghosts can now see if they're allowed to respawn or not at a glance
- rscadd: Cyborg sight modes are now actions, instead of items
- bugfix: Mining drones can now use meson sight again
- bugfix: It's no longer opposite day for the karma reminder preference
Lady Luck:
- tweak: office laptops are now traversable
Markolie:
- bugfix: simple_animals now have an attack cooldown when attacking mechas.
uraniummeltdown:
- bugfix: Atmos Console Boards now show in Computer Boards of Circuit Imprinter
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 256 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 KiB

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 49 KiB

+1
View File
@@ -1613,6 +1613,7 @@
#include "code\modules\mob\living\silicon\robot\robot_damage.dm"
#include "code\modules\mob\living\silicon\robot\robot_items.dm"
#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "code\modules\mob\living\silicon\robot\robot_module_actions.dm"
#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
#include "code\modules\mob\living\silicon\robot\update_status.dm"
#include "code\modules\mob\living\silicon\robot\drone\drone.dm"