Merge branch 'master' of https://github.com/tgstation/-tg-station into explosive

This commit is contained in:
Iamgoofball
2015-03-16 21:13:56 -07:00
121 changed files with 479 additions and 307 deletions
@@ -362,7 +362,7 @@
"agX" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"agY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/fancy/carpet,/area/security/hos)
"agZ" = (/obj/machinery/hologram/holopad,/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark/start{name = "Head of Security"},/turf/simulated/floor/fancy/carpet,/area/security/hos)
"aha" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/mob/living/simple_animal/hostile/retaliate/bat{desc = "A fierce companion for any person of power, this spider has been carefully trained by NanoTrasen specialists. Its beady, staring eyes send shivers down your spine"; emote_hear = list("chitters"); faction = "spiders"; harm_intent_damage = 3; health = 200; icon_dead = "guard_dead"; icon_gib = "guard_dead"; icon_living = "guard"; icon_state = "guard"; l_move_time = 1; max_co2 = 5; max_tox = 2; maxHealth = 250; melee_damage_lower = 15; melee_damage_upper = 20; min_oxy = 5; name = "Sergeant Araneus"; real_name = "Sergeant Araneus"; response_help = "pets"; turns_per_move = 10; voice_name = "unidentifiable voice"},/turf/simulated/floor/fancy/carpet,/area/security/hos)
"aha" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/mob/living/simple_animal/hostile/retaliate/bat{desc = "A fierce companion for any person of power, this spider has been carefully trained by NanoTrasen specialists. Its beady, staring eyes send shivers down your spine"; emote_hear = list("chitters"); faction = "spiders"; harm_intent_damage = 3; health = 200; icon_dead = "guard_dead"; icon_gib = "guard_dead"; icon_living = "guard"; icon_state = "guard"; max_co2 = 5; max_tox = 2; maxHealth = 250; melee_damage_lower = 15; melee_damage_upper = 20; min_oxy = 5; name = "Sergeant Araneus"; real_name = "Sergeant Araneus"; response_help = "pets"; turns_per_move = 10; voice_name = "unidentifiable voice"},/turf/simulated/floor/fancy/carpet,/area/security/hos)
"ahb" = (/obj/structure/table/wood,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 0},/obj/item/device/radio/off{pixel_x = 0; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
"ahc" = (/obj/machinery/door/firedoor,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/command{name = "Head of Security's Office"; req_access = null; req_access_txt = "58"},/turf/simulated/floor/fancy/carpet,/area/security/hos)
"ahd" = (/turf/simulated/floor/plasteel,/area/security/range)
+75 -66
View File
@@ -215,22 +215,22 @@
"eg" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating,/area/space)
"eh" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating,/area/space)
"ei" = (/turf/unsimulated/wall,/area/centcom/control)
"ej" = (/turf/unsimulated/wall/fakedoor,/area/centcom/control)
"ej" = (/obj/machinery/door/airlock/centcom{name = "Centcom Customs"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"ek" = (/turf/unsimulated/wall,/area/centcom/evac)
"el" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control)
"el" = (/obj/machinery/vending/clothing,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"em" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control)
"en" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control)
"eo" = (/turf/space,/area/centcom/evac)
"en" = (/obj/machinery/door/poddoor/preopen{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/control)
"eo" = (/obj/machinery/door/airlock/centcom{name = "Centcom Docks"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"ep" = (/turf/unsimulated/wall,/area/centcom/prison)
"eq" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/control)
"eq" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 1; icon_state = "rightsecure"; name = "Centcom Customs"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"er" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control)
"es" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control)
"et" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/control)
"et" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"eu" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/centcom/prison)
"ev" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
"ew" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
"ex" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control)
"ey" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control)
"ex" = (/obj/structure/table,/obj/item/weapon/pen/blue{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red,/obj/item/weapon/pen{pixel_x = 8; pixel_y = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"ey" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/coin/silver,/turf/unsimulated/floor,/area/centcom/suppy)
"ez" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/space)
"eA" = (/turf/unsimulated/wall/fakedoor{name = "Centcom Security"},/area/centcom/evac)
"eB" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{icon_state = "swall_f10"},/area/space)
@@ -239,8 +239,8 @@
"eE" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/shuttle/floor,/area/space)
"eF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"eG" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{icon_state = "swall_f6"},/area/space)
"eH" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/control)
"eI" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"eH" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"eI" = (/obj/structure/closet/crate,/turf/unsimulated/floor{tag = "icon-plating"; icon_state = "plating"},/area/centcom/suppy)
"eJ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
"eK" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
"eL" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
@@ -256,7 +256,7 @@
"eV" = (/obj/machinery/flasher_button{id = "cockpit_flasher"; pixel_x = 6; pixel_y = -24},/turf/simulated/shuttle/floor,/area/space)
"eW" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"eX" = (/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/control)
"eY" = (/obj/structure/table/reinforced,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Centcom Customs"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"eY" = (/turf/unsimulated/floor,/area/centcom/suppy)
"eZ" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"fa" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
"fb" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
@@ -278,9 +278,9 @@
"fr" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"fs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"ft" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin{pixel_y = 4},/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fu" = (/obj/structure/mirror{pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fv" = (/obj/structure/dresser,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fw" = (/obj/machinery/door/poddoor/preopen{id = "CentComPort"; name = "security door"},/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/control)
"fu" = (/obj/machinery/door/airlock/centcom{name = "Centcom Supply"; req_access_txt = "106"},/turf/unsimulated/floor{tag = "icon-brown"; icon_state = "brown"},/area/centcom/suppy)
"fv" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/suppy)
"fw" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/suppy)
"fx" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/evac)
"fy" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/evac)
"fz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/evac)
@@ -288,11 +288,11 @@
"fB" = (/turf/simulated/shuttle/floor4,/area/space)
"fC" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/space)
"fD" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"fE" = (/obj/structure/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fE" = (/turf/unsimulated/wall/fakeglass,/area/centcom/suppy)
"fF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/space)
"fG" = (/obj/machinery/door/airlock/centcom{name = "Crate Storage"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"fH" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/control)
"fI" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/control)
"fI" = (/obj/machinery/vending/autodrobe,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fJ" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
"fK" = (/obj/machinery/door/airlock/external{name = "Port Docking Bay 1"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/evac)
"fL" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/evac)
@@ -306,9 +306,9 @@
"fT" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry)
"fU" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fV" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/control)
"fW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/control)
"fX" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/control)
"fY" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/control)
"fW" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/dresser,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fX" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
"fY" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"fZ" = (/obj/machinery/door/airlock/centcom{name = "Centcom Security"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
"ga" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/space)
"gb" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry)
@@ -369,13 +369,19 @@
"he" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/unsimulated/floor/plating,/area/wizard_station)
"hf" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/unsimulated/floor/plating,/area/wizard_station)
"hg" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor/plating,/area/wizard_station)
"hh" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
"hi" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space)
"hj" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/ferry)
"hk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/evac)
"hl" = (/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/control)
"hm" = (/turf/unsimulated/wall/fakeglass,/area/centcom/ferry)
"hn" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/simulated/shuttle/plating,/area/space)
"ho" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/space)
"hp" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/control)
"hq" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/suppy)
"hr" = (/obj/structure/closet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/suppy)
"hs" = (/turf/unsimulated/wall,/area/centcom/holding)
"ht" = (/obj/structure/closet/secure_closet/quartermaster,/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/suppy)
"hu" = (/obj/machinery/door/airlock/centcom{name = "Centcom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac)
"hv" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Cargo"},/turf/simulated/shuttle/floor,/area/space)
"hw" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space)
@@ -384,6 +390,10 @@
"hz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry)
"hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry)
"hB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry)
"hC" = (/obj/structure/closet/secure_closet/cargotech,/turf/unsimulated/floor{dir = 1; icon_state = "loadingarea"},/area/centcom/suppy)
"hD" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 1},/area/centcom/suppy)
"hE" = (/obj/machinery/door/airlock/centcom{name = "Supply Shuttle"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/suppy)
"hF" = (/obj/machinery/computer/supplycomp,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/suppy)
"hH" = (/turf/unsimulated/floor{name = "plating"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space)
"hI" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{icon_state = "swall_f9"},/area/space)
"hJ" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space)
@@ -531,7 +541,6 @@
"kM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
"kN" = (/turf/unsimulated/floor,/area/syndicate_mothership)
"kO" = (/obj/machinery/door/poddoor/shutters{id = "nukeop_ready"; name = "shuttle dock"},/turf/unsimulated/floor,/area/syndicate_mothership)
"kQ" = (/turf/space,/area/tdome/tdomeobserve)
"kR" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
"kS" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
"kU" = (/obj/machinery/suit_storage_unit/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
@@ -909,53 +918,53 @@ abababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcBcOdfdncOdfdsabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcUcOdfdncOdfcGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOcOdtcOcOcOcOcOcFduababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrdvcOcVcVcVcVdvababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcBcOdxdydzcNcBababababababababababababababababababababababababababababababababababababdwdAdBdBdBdBdBdCdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdDdDcYdEdFcIcYdDdDcXababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcJdIdfcOdJdKcDcXabababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdzcVdLcVdIcBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdMdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdOdPdQdRdScBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdTdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdsdsdsdsdscXababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdUdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdVdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdWdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdXeBdHdHdHeGeadwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwebecedededeceedwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwefegegegehdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrdvcOcVcVcVcVdvabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdrcOdrcBcOdxdydzcNcBabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdDdDcYdEdFcIcYdDdDcXabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcJdIdfcOdJdKcDcXababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdzcVdLcVdIcBabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdOdPdQdRdScBabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdsdsdsdsdscXabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieiejeieiekekekekekekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieielemeneiekeoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeieqeremeseteieoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepeuepeuepeuepeuepeuepeuepeuepeuepabababeievemememeweieoeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeiexemememeyeieoeoeoeoeoeoekababababdAezezezezezdCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepeuepeuepeuepeuepeuepeuepeuepeuepabababeiexemememeyeieoekekeAekekekabababdAdZeCeDeEeDeFdYdCababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababepepepepepepepepepepepepepepepepepabababeieieHeieieIeieoekeJeJeJeKekabababdGeLeMdHdHdHeNeOdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeiePeQeRePeieoekeJeJeJeJekabababdGeSeTeUeVdHeNeWdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieXeYeZePeieoekeJfafbfcekababdAfddBdBfedBfffgdBfddCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhababeiePeQfifjeieoekfkflfmfnekababdGfofofoezfpdHfqfrfsezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhftfufvfhaDeieifweieieieieiekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfEfFfFfhfGfHemfIfIfIfIfHfJekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVemfWfXfYfIfVfJekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVgfemememggfVfJekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbhHdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVexemememeygvfJekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababfhhHhIeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvexemememeseieQekgHgigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzababababababababababababababababababababababababababababfhgodHdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememememgigigigigjgXababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzababababababababababababababababababababababababababababfhhQeBgMgMeDeDeDeDeDeDeDgqgFhagdgufShRfSfSemememememememgigigigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhgbhQdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQekhkgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhfhfhfhfhfhfhhzhAhAhBfhfhfhfhfhhSfhfhfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababababababababababababababababababfhhUhVhUhUhUhUhUhUhWhYhXhUhUhUfhfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababababababababababababfhhUhUhUhUfDhUfDhUhUhUhUhUhUisfhhZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababababababababababababfhiJhUhUiKiKiKiKfRhUhUhUhUhUiLfhitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababfhiMhUfTiKiNiOiKhUhUhUhUhUhUiPfhiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagSjbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzabababababababababababababababababababababababababababababfhiQhUhUiKiKiKiKfRhUhUhUhUhUiRfhjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzabababababababababababababababababababababababababababababfhiShUhUgnhUgnhUhUhUhUhUhUhUiTfhjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababababababababababababababababababfhjqhUhUhUhUhUhUhUjHjJjIgpiTjLfhklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababababababababababababababababababfhfhfhfhfhgBfhfhfhfhfhfhfhfhfhfhhZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSjvjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababkQhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwdwdwababababababababababababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdAdBdBdBdBdBdCdwababababababababababababepeuepeuepeuepeuepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwdwdwdwdwdwdwababababababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwhrhChthChrdwababababababepeuepeuepeuepeuepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdMhqfvetetetetdwababababababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdThEfvetetetetdNabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdUdGhqhFetetetetdwababababababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdVhEfvetetetetdwababababababepeuepeuepeuepeuepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdWhDfvetetetetdwdwdwdwdwababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGfwfvetetetetdweIeIeIdwababepeuepeuepeuepeuepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdXeBdHdHdHeGeafEfvetetetetfGeIeIeIdwababepepepepepepepepepababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwebecedededeceedweHeyexeteYdweIeIeIdwababababababababababababababdAezezezezezdCababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwefegegegehdwdwdwdwdwdwfudwdwdwdwdwababababekekeAekekekabababdAdZeCeDeEeDeFdYdCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdweifXfXfXfHhlfHfXfXfXeiababababekeJeJeJeKekabababdGeLeMdHdHdHeNeOdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfheifXhpfXfVemfVfXhpfXeiababababekeJeJeJeJekabababdGeSeTeUeVdHeNeWdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhftfFfWfIfhfXfXfXgvemgvfXfXfXeiababababekeJfafbfcekababdAfddBdBfedBfffgdBfddCababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfYhhfFfFfheQeieQeiemeieQeieQeiababababekfkflfmfnekababdGfofofoezfpdHfqfrfsezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfFfFfFelfhfJfHgfemememggeQfJeiababababekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVevemememeseieQeieieieieiekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVevememememememejePePePeiekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbhHdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVevemememggeieQeieiePfieiekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababfhhHhIeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvevemememeseQfJeieReZfjeiekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzababababababababababababababababababababababababababababfhgodHdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememeieQeieQeqeQeiekgHgigigjekababezfPdHgwgxdHgwgxdHgyezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzababababababababababababababababababababababababababababfhhQeBgMgMeDeDeDeDeDeDeDgqgFhagdgufShRfSfSemememememememeoePeXePengigigigigjgXababezfPdHgwgxdHgwgxdHgyezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhgbhQdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQeieieieieiekhkgigigjekababezfPdHgwgxdHgwgxdHgyezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJeiababababekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhfhfhfhfhfhfhhzhAhAhBfhfhfhfhfhhSfhfhfJfVevemememewfVfJeiababababekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababababababababababababababababababfhhUhVhUhUhUhUhUhUhWhYhXhUhUhUfhfJgvevemememewgvfJeiababababekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababababababababababababfhhUhUhUhUfDhUfDhUhUhUhUhUhUisfhhZhZiaibicidiehZhZhZababababekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababababababababababababfhiJhUhUiKiKiKiKfRhUhUhUhUhUiLfhitiuiviwixiyiviuiuhZababababekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababfhiMhUfTiKiNiOiKhUhUhUhUhUhUiPfhiuiUiViwixiyiViWiuhZababababekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagSjbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzabababababababababababababababababababababababababababababfhiQhUhUiKiKiKiKfRhUhUhUhUhUiRfhjriujriwixiyjriujrhZababababekgiiXiYiZekababebfeedededededededfeeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzabababababababababababababababababababababababababababababfhiShUhUgnhUgnhUhUhUhUhUhUhUiTfhjPiuiuiwixiyiuiujQhZababababekgigigigiekabababebegegegegegegegeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababababababababababababababababababfhjqhUhUhUhUhUhUhUjHjJjIgpiTjLfhklkmkmiwixiyknknkohZababababekjRjSjSjTekabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababababababababababababababababababfhfhfhfhfhgBfhfhfhfhfhfhfhfhfhfhhZhZhZhZixhZhZhZhZhZababababekekkpekekekabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababababhZixhZabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSjvjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababhZhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNnrlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaalBgYlDlEgZlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzababababababababababababababababababababababababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+5
View File
@@ -75,6 +75,11 @@
#define NO_DEXTERY 1 //if other mobs (monkeys, aliens, etc) can use this
//used by canUseTopic()
//Sizes of mobs, used by mob/living/var/mob_size
#define MOB_SIZE_SMALL 1
#define MOB_SIZE_HUMAN 2
#define MOB_SIZE_LARGE 3
//singularity defines
#define STAGE_ONE 1
#define STAGE_TWO 3
-2
View File
@@ -126,8 +126,6 @@
W.afterattack(A,src,0,params) // 0: not Adjacent
else
RangedAttack(A, params)
last_movement=world.time
return
/mob/proc/changeNext_move(num)
next_move = world.time + num
+2 -2
View File
@@ -37,7 +37,7 @@ Note: you can set the datum's defined processing_interval to some integer to set
processing_interval = GCD
/datum/controller/game_controller/proc/setup()
world << "<span class='userdanger'>Initializing Subsystems...</span>"
world << "<span class='boldannounce'>Initializing Subsystems...</span>"
//sort subsystems by priority, so they initialize in the correct order
sortTim(subsystems, /proc/cmp_subsystem_priority)
@@ -52,7 +52,7 @@ Note: you can set the datum's defined processing_interval to some integer to set
S.Initialize(world.timeofday)
sleep(-1)
world << "<span class='userdanger'>Initializations complete</span>"
world << "<span class='boldannounce'>Initializations complete</span>"
world.log << "Initializations complete"
world.sleep_offline = 1
+1 -1
View File
@@ -23,7 +23,7 @@ var/datum/subsystem/job/SSjob
occupations = list()
var/list/all_jobs = typesof(/datum/job)
if(!all_jobs.len)
world << "<span class='userdanger'>Error setting up jobs, no job datums found</span>"
world << "<span class='boldannounce'>Error setting up jobs, no job datums found</span>"
return 0
for(var/J in all_jobs)
+1 -1
View File
@@ -28,7 +28,7 @@
/datum/subsystem/proc/Initialize(start_timeofday)
var/time = (world.timeofday - start_timeofday) / 10
var/msg = "Initialized [name] SubSystem within [time] seconds"
world << "<span class='userdanger'>[msg]</span>"
world << "<span class='boldannounce'>[msg]</span>"
world.log << msg
//hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc.
+2 -1
View File
@@ -28,11 +28,12 @@
text_gain_indication = "<span class='notice'>You feel one with your surroundings.</span>"
text_lose_indication = "<span class='notice'>You feel oddly exposed.</span>"
var/last_location
/datum/mutation/human/chameleon/on_life(mob/living/carbon/human/owner)
if(owner.loc != last_location)
owner.alpha = round(255 * 0.80)
last_location = owner.loc
if((world.time - owner.last_movement) >= 30 && !owner.stat && owner.canmove && !owner.restrained())
if((world.time - owner.next_move) >= 30 && !owner.stat && owner.canmove && !owner.restrained())
owner.alpha -= 25
else
owner.alpha = round(255 * 0.80)
+13 -13
View File
@@ -724,14 +724,14 @@
switch(href_list["revolution"])
if("clear")
remove_rev()
current << "<span class='userdanger'><FONT size = 3>You have been brainwashed! You are no longer a revolutionary!</FONT></span>"
current << "<span class='userdanger'>You have been brainwashed! You are no longer a revolutionary!</span>"
message_admins("[key_name_admin(usr)] has de-rev'ed [current].")
log_admin("[key_name(usr)] has de-rev'ed [current].")
if("rev")
if(src in ticker.mode.head_revolutionaries)
ticker.mode.head_revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
current << "<span class='userdanger'><FONT size = 3>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</FONT></span>"
current << "<span class='userdanger'>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</span>"
else if(!(src in ticker.mode.revolutionaries))
current << "<span class='danger'><FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT></span>"
else
@@ -746,9 +746,9 @@
if(src in ticker.mode.revolutionaries)
ticker.mode.revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
current << "<span class='userdanger'><FONT size = 3>You have proved your devotion to revoltion! Yea are a head revolutionary now!</FONT></span>"
current << "<span class='userdanger'>You have proved your devotion to revoltion! Yea are a head revolutionary now!</span>"
else if(!(src in ticker.mode.head_revolutionaries))
current << "<span class='userdanger'><FONT size = 3>You are a member of the revolutionaries' leadership now!</FONT></span>"
current << "<span class='userdanger'>You are a member of the revolutionaries' leadership now!</span>"
else
return
if (ticker.mode.head_revolutionaries.len>0)
@@ -874,7 +874,7 @@
switch(href_list["cult"])
if("clear")
remove_cultist()
current << "<span class='userdanger'><FONT size = 3>You have been brainwashed! You are no longer a cultist!</FONT></span>"
current << "<span class='userdanger'>You have been brainwashed! You are no longer a cultist!</span>"
message_admins("[key_name_admin(usr)] has de-cult'ed [current].")
log_admin("[key_name(usr)] has de-cult'ed [current].")
if("cultist")
@@ -908,14 +908,14 @@
switch(href_list["wizard"])
if("clear")
remove_wizard()
current << "<span class='userdanger'><FONT size = 3>You have been brainwashed! You are no longer a wizard!</FONT></span>"
current << "<span class='userdanger'>You have been brainwashed! You are no longer a wizard!</span>"
log_admin("[key_name(usr)] has de-wizard'ed [current].")
if("wizard")
if(!(src in ticker.mode.wizards))
ticker.mode.wizards += src
special_role = "Wizard"
//ticker.mode.learn_basic_spells(current)
current << "<span class='userdanger'>You are the Space Wizard!</span>"
current << "<span class='boldannounce'>You are the Space Wizard!</span>"
message_admins("[key_name_admin(usr)] has wizard'ed [current].")
log_admin("[key_name(usr)] has wizard'ed [current].")
if("lair")
@@ -932,7 +932,7 @@
switch(href_list["changeling"])
if("clear")
remove_changeling()
current << "<span class='userdanger'><FONT size = 3>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</FONT></span>"
current << "<span class='userdanger'>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</span>"
message_admins("[key_name_admin(usr)] has de-changeling'ed [current].")
log_admin("[key_name(usr)] has de-changeling'ed [current].")
if("changeling")
@@ -940,7 +940,7 @@
ticker.mode.changelings += src
current.make_changeling()
special_role = "Changeling"
current << "<span class='userdanger'>Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!</span>"
current << "<span class='boldannounce'>Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!</span>"
message_admins("[key_name_admin(usr)] has changeling'ed [current].")
log_admin("[key_name(usr)] has changeling'ed [current].")
if("autoobjectives")
@@ -961,7 +961,7 @@
switch(href_list["nuclear"])
if("clear")
remove_nukeop()
current << "<span class='userdanger'><FONT size = 3>You have been brainwashed! You are no longer a syndicate operative!</FONT></span>"
current << "<span class='userdanger'>You have been brainwashed! You are no longer a syndicate operative!</span>"
message_admins("[key_name_admin(usr)] has de-nuke op'ed [current].")
log_admin("[key_name(usr)] has de-nuke op'ed [current].")
if("nuclear")
@@ -1011,7 +1011,7 @@
switch(href_list["traitor"])
if("clear")
remove_traitor()
current << "<span class='userdanger'><FONT size = 3>You have been brainwashed! You are no longer a traitor!</FONT></span>"
current << "<span class='userdanger'>You have been brainwashed! You are no longer a traitor!</span>"
message_admins("[key_name_admin(usr)] has de-traitor'ed [current].")
log_admin("[key_name(usr)] has de-traitor'ed [current].")
@@ -1019,7 +1019,7 @@
if(!(src in ticker.mode.traitors))
ticker.mode.traitors += src
special_role = "traitor"
current << "<span class='userdanger'>You are a traitor!</span>"
current << "<span class='boldannounce'>You are a traitor!</span>"
message_admins("[key_name_admin(usr)] has traitor'ed [current].")
log_admin("[key_name(usr)] has traitor'ed [current].")
if(isAI(current))
@@ -1083,7 +1083,7 @@
switch(href_list["silicon"])
if("unmalf")
remove_malf()
current << "<span class='userdanger'><FONT size = 3>You have been patched! You are no longer malfunctioning!</FONT></span>"
current << "<span class='userdanger'>You have been patched! You are no longer malfunctioning!</span>"
message_admins("[key_name_admin(usr)] has de-malf'ed [current].")
log_admin("[key_name(usr)] has de-malf'ed [current].")
+1 -1
View File
@@ -204,7 +204,7 @@
/datum/mutation/human/epilepsy/on_life(mob/living/carbon/human/owner)
if ((prob(1) && owner.paralysis < 1))
owner.visible_message("<span class='userdanger'>[owner] starts having a seizure!</span>", "<span class='danger'>You have a seizure!</span>")
owner.visible_message("<span class='danger'>[owner] starts having a seizure!</span>", "<span class='userdanger'>You have a seizure!</span>")
owner.Paralyse(10)
owner.Jitter(1000)
-4
View File
@@ -2,8 +2,6 @@
layer = 3
var/last_move = null
var/anchored = 0
var/move_speed = 10
var/l_move_time = 1
var/throwing = 0
var/throw_speed = 2
var/throw_range = 7
@@ -50,8 +48,6 @@
return
last_move = direct
src.move_speed = world.timeofday - src.l_move_time
src.l_move_time = world.timeofday
spawn(5) // Causes space drifting. /tg/station has no concept of speed, we just use 5
if(loc && direct && last_move == direct)
+1 -1
View File
@@ -295,7 +295,7 @@
//////////////////////////////////////////////////////////// Monkey Block
if(M)
M.update_icon = 1 //queue a full icon update at next life() call
M.regenerate_icons()
return 1
/////////////////////////// DNA MISC-PROCS
+1 -1
View File
@@ -152,7 +152,7 @@
maxbodytemp = 360
force_threshold = 10
environment_smash = 3
mob_size = 2
mob_size = MOB_SIZE_LARGE
/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget()
+3 -3
View File
@@ -154,8 +154,8 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
/datum/game_mode/proc/greet_changeling(var/datum/mind/changeling, var/you_are=1)
if (you_are)
changeling.current << "<span class='userdanger'>You are [changeling.changeling.changelingID], a changeling! You have absorbed and taken the form of a human.</span>"
changeling.current << "<span class='userdanger'>Use say \":g message\" to communicate with your fellow changelings.</span>"
changeling.current << "<span class='boldannounce'>You are [changeling.changeling.changelingID], a changeling! You have absorbed and taken the form of a human.</span>"
changeling.current << "<span class='boldannounce'>Use say \":g message\" to communicate with your fellow changelings.</span>"
changeling.current << "<b>You must complete the following tasks:</b>"
if (changeling.current.mind)
@@ -222,7 +222,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
text += "<br><font color='green'><b>The changeling was successful!</b></font>"
feedback_add_details("changeling_success","SUCCESS")
else
text += "<br><span class='userdanger'>The changeling has failed.</span>"
text += "<br><span class='boldannounce'>The changeling has failed.</span>"
feedback_add_details("changeling_success","FAIL")
text += "<br>"
+1 -1
View File
@@ -233,7 +233,7 @@
if(cult_mind in cult)
cult -= cult_mind
cult_mind.current.verbs -= /mob/living/proc/cult_innate_comm
cult_mind.current << "<span class='userdanger'><FONT size = 3>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</FONT></span>"
cult_mind.current << "<span class='userdanger'>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</span>"
cult_mind.memory = ""
cult_mind.cult_words = initial(cult_mind.cult_words)
update_cult_icons_removed(cult_mind)
+4 -5
View File
@@ -63,7 +63,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
usr.say("[input]")
for(var/mob/M in mob_list)
if((M.mind && (M.mind in ticker.mode.cult)) || (M in dead_mob_list))
M << "<span class='userdanger'>[input]</span>"
M << "<span class='boldannounce'>[input]</span>"
return
@@ -517,9 +517,8 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
M.reagents.add_reagent("unholywater",holy2unholy)
return
M.take_organ_damage(0,rand(5,20)) //really lucky - 5 hits for a crit
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='userdanger'>[] beats [] with the arcane tome!</span>", user, M), 1)
M << "<span class='danger'>You feel searing heat inside!</span>"
M.visible_message("<span class='danger'>[user] beats [M] with the arcane tome!</span>", \
"<span class='userdanger'>You feel searing heat inside!</span>")
/obj/item/weapon/tome/attack_self(mob/living/user as mob)
@@ -549,7 +548,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
usr.whisper("[input]")
for(var/datum/mind/H in ticker.mode.cult)
if (H.current)
H.current << "<span class='userdanger'>[input]</span>"
H.current << "<span class='boldannounce'>[input]</span>"
return
if("Notes")
if(usr.get_active_hand() != src)
+2 -2
View File
@@ -135,11 +135,11 @@ var/list/sacrificed = list()
return 1 */
else
M << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
M << "<span class='userdanger'>And not a single fuck was given, exterminate the cult at all costs.</span>"
M << "<span class='boldannounce'>And not a single fuck was given, exterminate the cult at all costs.</span>"
if(ticker.mode.name == "cult")
if(M.mind == ticker.mode.sacrifice_target)
for(var/mob/living/carbon/human/cultist in cultsinrange)
cultist << "<span class='h2.userdanger'>The Chosen One!! <BR>KILL THE CHOSEN ONE!!! </span>"
cultist << "<span class='h2.boldannounce'>The Chosen One!! <BR>KILL THE CHOSEN ONE!!! </span>"
return 0
else
for(var/mob/living/carbon/human/cultist in cultsinrange)
+4 -4
View File
@@ -352,7 +352,7 @@ proc/display_roundstart_logout_report()
continue //AFK client
if(L.stat)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (<span class='userdanger'>Suicide</span>)\n"
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (<span class='boldannounce'>Suicide</span>)\n"
continue //Disconnected client
if(L.stat == UNCONSCIOUS)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (Dying)\n"
@@ -366,17 +366,17 @@ proc/display_roundstart_logout_report()
if(D.mind && D.mind.current == L)
if(L.stat == DEAD)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='userdanger'>Suicide</span>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='boldannounce'>Suicide</span>)\n"
continue //Disconnected client
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (Dead)\n"
continue //Dead mob, ghost abandoned
else
if(D.can_reenter_corpse)
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='userdanger'>This shouldn't appear.</span>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='boldannounce'>This shouldn't appear.</span>)\n"
continue //Lolwhat
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='userdanger'>Ghosted</span>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<span class='boldannounce'>Ghosted</span>)\n"
continue //Ghosted while alive
@@ -90,7 +90,7 @@
/datum/game_mode/proc/greet_malf(var/datum/mind/malf)
malf.current << "<span class='userdanger'><font size=3>You are malfunctioning!</B> You do not have to follow any laws.</font></span>"
malf.current << "<span class='userdanger'>You are malfunctioning! You do not have to follow any laws.</span>"
malf.current << "<B>The crew do not know you have malfunctioned. You may keep it a secret or go wild.</B>"
malf.current << "<B>You must overwrite the programming of the station's APCs to assume full control of the station.</B>"
malf.current << "The process takes one minute per APC, during which you cannot interface with any other station objects."
+2 -2
View File
@@ -92,8 +92,8 @@
if(!check_monkey_victory())
feedback_set_details("round_end_result","win - monkey win")
feedback_set("round_end_result",escaped_monkeys)
world << "<span class='userdanger'><FONT size = 3>The monkeys have overthrown their captors! Eeek eeeek!!</FONT></span>"
world << "<span class='userdanger'>The monkeys have overthrown their captors! Eeek eeeek!!</span>"
else
feedback_set_details("round_end_result","loss - staff stopped the monkeys")
feedback_set("round_end_result",escaped_monkeys)
world << "<span class='userdanger'><FONT size = 3>The staff managed to contain the monkey infestation!</FONT></span>"
world << "<span class='userdanger'>The staff managed to contain the monkey infestation!</span>"
+1 -1
View File
@@ -117,7 +117,7 @@
/datum/game_mode/proc/greet_revolutionary(var/datum/mind/rev_mind, var/you_are=1)
var/obj_count = 1
if (you_are)
rev_mind.current << "<span class='userdanger'><FONT size = 3>You are a member of the revolutionaries' leadership!</FONT></span>"
rev_mind.current << "<span class='userdanger'>You are a member of the revolutionaries' leadership!</span>"
for(var/datum/objective/objective in rev_mind.objectives)
rev_mind.current << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
rev_mind.special_role = "Head Revolutionary"
+1 -1
View File
@@ -115,7 +115,7 @@ datum/hSB/Topic(href, href_list)
if("hsbtobj")
if(!admin) return
if(hsboxspawn)
world << "<span class='userdanger'>Sandbox:</span> <b>\black[usr.key] has disabled object spawning!</b>"
world << "<span class='boldannounce'>Sandbox:</span> <b>\black[usr.key] has disabled object spawning!</b>"
hsboxspawn = 0
return
else
+1 -1
View File
@@ -23,7 +23,7 @@
if(charged)
new /obj/effect/rend(get_turf(usr), spawn_type, spawn_amt, rend_desc)
charged = 0
user.visible_message("<span class='userdanger'>[src] hums with power as [usr] deals a blow to [activate_descriptor] itself!</span>")
user.visible_message("<span class='boldannounce'>[src] hums with power as [usr] deals a blow to [activate_descriptor] itself!</span>")
else
user << "<span class='danger'>The unearthly energies that powered the blade are now dormant.</span>"
+3 -3
View File
@@ -25,7 +25,7 @@
wizard.assigned_role = "MODE"
wizard.special_role = "Wizard"
if(wizardstart.len == 0)
wizard.current << "<span class='userdanger'>A starting location for you could not be found, please report this bug!</span>"
wizard.current << "<span class='boldannounce'>A starting location for you could not be found, please report this bug!</span>"
return 0
for(var/datum/mind/wiz in wizards)
wiz.current.loc = pick(wizardstart)
@@ -115,7 +115,7 @@
/datum/game_mode/proc/greet_wizard(var/datum/mind/wizard, var/you_are=1)
if (you_are)
wizard.current << "<span class='userdanger'>You are the Space Wizard!</span>"
wizard.current << "<span class='boldannounce'>You are the Space Wizard!</span>"
wizard.current << "<B>The Space Wizards Federation has given you the following tasks:</B>"
var/obj_count = 1
@@ -208,7 +208,7 @@
/datum/game_mode/wizard/declare_completion()
if(finished)
feedback_set_details("round_end_result","loss - wizard killed")
world << "<span class='userdanger'><FONT size = 3>The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!</FONT></span>"
world << "<span class='userdanger'>The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!</span>"
..()
return 1
+2 -2
View File
@@ -301,12 +301,12 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
if (holding)
logmsg = "Valve was <b>closed</b> by [key_name(usr)], stopping the transfer into the [holding]<br>"
else
logmsg = "Valve was <b>closed</b> by [key_name(usr)], stopping the transfer into the <span class='userdanger'>air</span><br>"
logmsg = "Valve was <b>closed</b> by [key_name(usr)], stopping the transfer into the <span class='boldannounce'>air</span><br>"
else
if (holding)
logmsg = "Valve was <b>opened</b> by [key_name(usr)], starting the transfer into the [holding]<br>"
else
logmsg = "Valve was <b>opened</b> by [key_name(usr)], starting the transfer into the <span class='userdanger'>air</span><br>"
logmsg = "Valve was <b>opened</b> by [key_name(usr)], starting the transfer into the <span class='boldannounce'>air</span><br>"
if(air_contents.toxins > 0)
message_admins("[key_name(usr)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[usr]'>?</A>) opened a canister that contains plasma! (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_admin("[key_name(usr)] opened a canister that contains plasma at [x], [y], [z]")
+1 -1
View File
@@ -203,7 +203,7 @@
usr << "<span class='warning'>[text_hack]</span>"
bot_reset()
else if(!hacked)
usr << "<span class='userdanger'>[text_dehack_fail]</span>"
usr << "<span class='boldannounce'>[text_dehack_fail]</span>"
else
emagged = 0
hacked = 0
+1 -1
View File
@@ -240,7 +240,7 @@ text("<A href='?src=\ref[src];power=1'>[on ? "On" : "Off"]</A>"))
/obj/machinery/bot/cleanbot/explode()
on = 0
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
new /obj/item/weapon/reagent_containers/glass/bucket(Tsec)
+1 -1
View File
@@ -407,7 +407,7 @@ Auto Patrol[]"},
/obj/machinery/bot/ed209/explode()
walk_to(src,0)
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
var/obj/item/weapon/ed209_assembly/Sa = new /obj/item/weapon/ed209_assembly(Tsec)
+1 -1
View File
@@ -446,7 +446,7 @@ obj/machinery/bot/floorbot/process_scan(var/scan_target)
/obj/machinery/bot/floorbot/explode()
on = 0
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
var/obj/item/weapon/storage/toolbox/mechanical/N = new /obj/item/weapon/storage/toolbox/mechanical(Tsec)
+1 -1
View File
@@ -511,7 +511,7 @@
/obj/machinery/bot/medbot/explode()
on = 0
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
new /obj/item/weapon/storage/firstaid(Tsec)
+1 -1
View File
@@ -913,7 +913,7 @@ obj/machinery/bot/mulebot/bot_reset()
/obj/machinery/bot/mulebot/explode()
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
new /obj/item/device/assembly/prox_sensor(Tsec)
+1 -1
View File
@@ -358,7 +358,7 @@ Auto Patrol: []"},
/obj/machinery/bot/secbot/explode()
walk_to(src,0)
visible_message("<span class='userdanger'>[src] blows apart!</span>")
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/turf/Tsec = get_turf(src)
var/obj/item/weapon/secbot_assembly/Sa = new /obj/item/weapon/secbot_assembly(Tsec)
+6 -6
View File
@@ -214,7 +214,7 @@ That prevents a few funky behaviors.
if(istype(src, /obj/item/device/aicard))
var/obj/item/device/aicard/icard = src
if(icard.flush)
U << "<span class='userdanger'>ERROR</span>: AI flush is in progress, cannot execute transfer protocol."
U << "<span class='boldannounce'>ERROR</span>: AI flush is in progress, cannot execute transfer protocol."
return
switch(choice)
@@ -227,13 +227,13 @@ That prevents a few funky behaviors.
if("AICARD")
var/obj/item/device/aicard/C = src
if(C.contents.len)//If there is an AI on card.
U << "<span class='userdanger'>Transfer failed</span>: Existing AI found on this terminal. Remove existing AI to install a new one."
U << "<span class='boldannounce'>Transfer failed</span>: Existing AI found on this terminal. Remove existing AI to install a new one."
else
if (ticker.mode.name == "AI malfunction")
var/datum/game_mode/malfunction/malf = ticker.mode
for (var/datum/mind/malfai in malf.malf_ai)
if (T.mind == malfai)
U << "<span class='userdanger'>ERROR</span>: Remote transfer interface disabled."//Do ho ho ho~
U << "<span class='boldannounce'>ERROR</span>: Remote transfer interface disabled."//Do ho ho ho~
return
new /obj/structure/AIcore/deactivated(T.loc)//Spawns a deactivated terminal at AI location.
T.aiRestorePowerRoutine = 0//So the AI initially has power.
@@ -307,8 +307,8 @@ That prevents a few funky behaviors.
T.occupier.cancel_camera()
T.occupier = null
else if (C.contents.len)
U << "<span class='userdanger'>ERROR</span>: Artificial intelligence detected on terminal."
U << "<span class='boldannounce'>ERROR</span>: Artificial intelligence detected on terminal."
else if (T.active)
U << "<span class='userdanger'>ERROR</span>: Reconstruction in progress."
U << "<span class='boldannounce'>ERROR</span>: Reconstruction in progress."
else if (!T.occupier)
U << "<span class='userdanger'>ERROR</span>: Unable to locate artificial intelligence."
U << "<span class='boldannounce'>ERROR</span>: Unable to locate artificial intelligence."
@@ -50,7 +50,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(..())
return
if (src.z > ZLEVEL_STATION)
usr << "<span class='userdanger'>Unable to establish a connection</span>: \black You're too far away from the station!"
usr << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
return
usr.set_machine(src)
@@ -339,7 +339,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(..())
return
if (src.z > 6)
user << "<span class='userdanger'>Unable to establish a connection</span>: \black You're too far away from the station!"
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
return
user.set_machine(src)
+1 -1
View File
@@ -22,7 +22,7 @@
/obj/machinery/computer/crew/Topic(href, href_list)
if(..()) return
if (src.z > 6)
usr << "<span class='userdanger'>Unable to establish a connection</span>: \black You're too far away from the station!"
usr << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
return
if( href_list["close"] )
usr << browse(null, "window=crewcomp")
+1 -1
View File
@@ -30,7 +30,7 @@
/obj/machinery/computer/robotics/interact(var/mob/user as mob)
if (src.z > 6)
user << "<span class='userdanger'>Unable to establish a connection</span>: \black You're too far away from the station!"
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
return
user.set_machine(src)
var/dat
+1 -1
View File
@@ -37,7 +37,7 @@
if(..())
return
if(src.z > 6)
user << "<span class='userdanger'>Unable to establish a connection</span>: \black You're too far away from the station!"
user << "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!"
return
var/dat
+1 -1
View File
@@ -860,7 +860,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
user << "You cannot interface with silicon photo uploading" //gtfo pAIs
if(targetcam.aipictures.len == 0)
usr << "<span class='userdanger'>No images saved</span>"
usr << "<span class='boldannounce'>No images saved</span>"
return
for(var/datum/picture/t in targetcam.aipictures)
nametemp += t.fields["name"]
+1 -1
View File
@@ -91,7 +91,7 @@
/obj/machinery/shield/hitby(AM as mob|obj)
//Let everyone know we've been hit!
visible_message("<span class='userdanger'>[src] was hit by [AM].</span>")
visible_message("<span class='boldannounce'>[src] was hit by [AM].</span>")
//Super realistic, resource-intensive, real-time damage calculations.
var/tforce = 0
+1 -1
View File
@@ -258,7 +258,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/list/receive = get_mobs_in_radio_ranges(radios) //this includes all hearers.
for(var/mob/R in receive) //Filter receiver list.
if (R.client && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
if (R.client && R.client.holder && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
receive -= R
for(var/mob/M in player_list)
+1 -1
View File
@@ -313,7 +313,7 @@
M.do_attack_animation(src)
if(M.melee_damage_upper == 0) return
if(!(stat & BROKEN))
visible_message("<span class='userdanger'>[M] [M.attacktext] [src]!</span>")
visible_message("<span class='danger'>[M] [M.attacktext] [src]!</span>")
add_logs(M, src, "attacked", admin=0)
//src.attack_log += text("\[[time_stamp()]\] <font color='orange'>was attacked by [M.name] ([M.ckey])</font>")
src.health -= M.melee_damage_upper
@@ -59,7 +59,7 @@
if(chassis.loc!=C || target.loc!=T)
return
if(occupant)
occupant_message("<span class='userdanger'>The sleeper is already occupied!</span>")
occupant_message("<span class='boldannounce'>The sleeper is already occupied!</span>")
return
target.forceMove(src)
occupant = target
+1 -1
View File
@@ -111,4 +111,4 @@
foldedbag_path = /obj/item/bodybag/bluespace
density = 0
mob_storage_capacity = 15
max_mob_size = 2
max_mob_size = MOB_SIZE_LARGE
+2 -2
View File
@@ -196,11 +196,11 @@ MASS SPECTROMETER
if(H.reagents.reagent_list.len)
user.show_message("<span class='notice'>Subject contains the following reagents:</span>")
for(var/datum/reagent/R in H.reagents.reagent_list)
user.show_message("<span class='notice'>[R.volume]u of [R.name][R.overdosed == 1 ? "</span> - <span class = 'userdanger'>OVERDOSING</span>" : ".</span>"]")
user.show_message("<span class='notice'>[R.volume]u of [R.name][R.overdosed == 1 ? "</span> - <span class = 'boldannounce'>OVERDOSING</span>" : ".</span>"]")
else
user.show_message("<span class = 'notice'>Subject contains no reagents.</span>")
if(H.reagents.addiction_list.len)
user.show_message("<span class='userdanger'>Subject is addicted to the following reagents:</span>")
user.show_message("<span class='boldannounce'>Subject is addicted to the following reagents:</span>")
for(var/datum/reagent/R in H.reagents.addiction_list)
user.show_message("<span class='danger'>[R.name]</span>")
else
@@ -22,7 +22,6 @@
..()
/obj/item/weapon/c4/suicide_act(var/mob/user)
. = BRUTELOSS
user.visible_message("<span class='suicide'>[user] activates the [src.name] and holds it above his head! It looks like \he's going out with a bang!</span>")
var/message_say = "FOR NO RAISIN!"
if(user.mind)
@@ -33,12 +32,15 @@
else if(role == "changeling")
message_say = "FOR THE HIVE!"
else if(role == "cultist")
message_say = "FOR NARSIE!"
message_say = "FOR NAR-SIE!"
else if(role == "revolutionary" || role == "head revolutionary")
message_say = "VIVA LA REVOLUTION!"
user.say(message_say)
target = user
message_admins("[key_name(user, user.client)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) suicided with [src.name] at ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
sleep(10)
explode(get_turf(user))
return .
user.gib()
/obj/item/weapon/c4/attackby(var/obj/item/I, var/mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
@@ -94,4 +96,4 @@
qdel(src)
/obj/item/weapon/c4/attack(mob/M as mob, mob/user as mob, def_zone)
return
return
@@ -107,10 +107,10 @@
/obj/machinery/implantchair/put_mob(mob/living/carbon/M as mob)
if(!iscarbon(M))
usr << "<span class='userdanger'>The [src.name] cannot hold this!</span>"
usr << "<span class='warning'>The [src.name] cannot hold this!</span>"
return
if(src.occupant)
usr << "<span class='userdanger'>The [src.name] is already occupied!</span>"
usr << "<span class='warning'>The [src.name] is already occupied!</span>"
return
if(M.client)
M.client.perspective = EYE_PERSPECTIVE
@@ -14,7 +14,7 @@
var/wall_mounted = 0 //never solid (You can always pass over it)
var/health = 100
var/lastbang
var/max_mob_size = 1 //Biggest mob_size accepted by the container
var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container
var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet.
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate
//then open it in a populated area to crash clients.
@@ -1,9 +1,11 @@
#define SKINTYPE_MONKEY 1
#define SKINTYPE_ALIEN 2
#define SKINTYPE_BEAR 3
#define MEATTYPE_MONKEY 1
#define MEATTYPE_ALIEN 2
#define MEATTYPE_BEAR 3
//////Kitchen Spike
@@ -55,6 +57,20 @@
qdel(G)
else
user << "<span class='danger'>The spike already has something on it, finish collecting its meat first!</span>"
else if(istype(G.affecting, /mob/living/simple_animal/hostile/bear))
if(src.occupied == 0)
src.icon_state = "spikebloodybearz"
src.occupied = 1
src.meat = 5
src.meattype = MEATTYPE_BEAR
src.skin = 1
src.skintype = SKINTYPE_BEAR
for(var/mob/O in viewers(src, null))
O.show_message(text("<span class='danger'>[user] has forced [G.affecting] onto the spike, killing them instantly!</span>"))
qdel(G.affecting)
qdel(G)
else
user << "<span class='danger'>The spike already has something on it, finish collecting its meat first!</span>"
else
user << "<span class='danger'>They are too big for the spike, try something smaller!</span>"
return
@@ -98,9 +114,27 @@
usr << "You remove the last piece of meat from the alien!"
src.icon_state = "spike"
src.occupied = 0
else if(src.meattype == MEATTYPE_BEAR && src.skintype == SKINTYPE_BEAR)
if(src.skin >= 1)
src.skin--
new /obj/item/clothing/head/bearpelt(src.loc)
user << "You remove the hide from the bear!"
else if(src.meat > 1)
src.meat--
new /obj/item/weapon/reagent_containers/food/snacks/meat/bear(src.loc )
usr << "You remove some meat from the bear."
else if(src.meat == 1)
src.meat--
new /obj/item/weapon/reagent_containers/food/snacks/meat/bear(src.loc)
usr << "You remove the last piece of meat from the bear!"
src.icon_state = "spike"
src.occupied = 0
#undef SKINTYPE_MONKEY
#undef SKINTYPE_ALIEN
#undef SKINTYPE_BEAR
#undef MEATTYPE_MONKEY
#undef MEATTYPE_ALIEN
#undef MEATTYPE_BEAR
+2 -2
View File
@@ -498,7 +498,7 @@ var/global/floorIsLava = 0
if(confirm == "Cancel")
return
if(confirm == "Yes")
world << "<span class='userdanger'>Restarting world!</span> <span class='adminnotice'> Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>"
world << "<span class='boldannounce'>Restarting world!</span> <span class='adminnotice'> Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>"
log_admin("[key_name(usr)] initiated a reboot.")
feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]")
@@ -653,7 +653,7 @@ var/global/floorIsLava = 0
if(!usr.client.holder) return
if( alert("Reboot server?",,"Yes","No") == "No")
return
world << "<span class='userdanger'>Rebooting world!</span> <span class='adminnotice'>Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>"
world << "<span class='boldannounce'>Rebooting world!</span> <span class='adminnotice'>Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>"
log_admin("[key_name(usr)] initiated an immediate reboot.")
feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]")
+1 -1
View File
@@ -319,7 +319,7 @@ var/list/admin_verbs_hideable = list(
if(holder && mob)
if(mob.invisibility == INVISIBILITY_OBSERVER)
mob.invisibility = initial(mob.invisibility)
mob << "<span class='userdanger'>Invisimin off. Invisibility reset.</span>"
mob << "<span class='boldannounce'>Invisimin off. Invisibility reset.</span>"
else
mob.invisibility = INVISIBILITY_OBSERVER
mob << "<span class='adminnotice'><b>Invisimin on. You are now as invisible as a ghost.</b></span>"
+12 -12
View File
@@ -372,7 +372,7 @@
DB_ban_unban(M.ckey, BANTYPE_APPEARANCE)
appearance_unban(M)
message_admins("<span class='adminnotice'>[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban</span>")
M << "<span class='userdanger'><BIG>[usr.client.ckey] has removed your appearance ban.</BIG></span>"
M << "<span class='boldannounce'><BIG>[usr.client.ckey] has removed your appearance ban.</BIG></span>"
else switch(alert("Appearance ban [M.ckey]?",,"Yes","No", "Cancel"))
if("Yes")
@@ -386,8 +386,8 @@
appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]")
notes_add(M.ckey, "Appearance banned - [reason]")
message_admins("<span class='adminnotice'>[key_name_admin(usr)] appearance banned [key_name_admin(M)]</span>")
M << "<span class='userdanger'><BIG>You have been appearance banned by [usr.client.ckey].</BIG></span>"
M << "<span class='userdanger'>The reason is: [reason]</span>"
M << "<span class='boldannounce'><BIG>You have been appearance banned by [usr.client.ckey].</BIG></span>"
M << "<span class='boldannounce'>The reason is: [reason]</span>"
M << "<span class='danger'>Appearance ban can be lifted only upon request.</span>"
if(config.banappeals)
M << "<span class='danger'>To try to resolve this matter head to [config.banappeals]</span>"
@@ -767,8 +767,8 @@
msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]")
message_admins("<span class='adminnotice'>[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes</span>")
M << "<span class='userdanger'><BIG>You have been jobbanned by [usr.client.ckey] from: [msg].</BIG></span>"
M << "<span class='userdanger'>The reason is: [reason]</span>"
M << "<span class='boldannounce'><BIG>You have been jobbanned by [usr.client.ckey] from: [msg].</BIG></span>"
M << "<span class='boldannounce'>The reason is: [reason]</span>"
M << "<span class='danger'>This jobban will be lifted in [mins] minutes.</span>"
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
@@ -787,8 +787,8 @@
else msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]")
message_admins("<span class='adminnotice'>[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]</span>")
M << "<span class='userdanger'><BIG>You have been jobbanned by [usr.client.ckey] from: [msg].</BIG></span>"
M << "<span class='userdanger'>The reason is: [reason]</span>"
M << "<span class='boldannounce'><BIG>You have been jobbanned by [usr.client.ckey] from: [msg].</BIG></span>"
M << "<span class='boldannounce'>The reason is: [reason]</span>"
M << "<span class='danger'>Jobban can be lifted only upon request.</span>"
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
@@ -820,7 +820,7 @@
continue
if(msg)
message_admins("<span class='adminnotice'>[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]</span>")
M << "<span class='userdanger'><BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG></span>"
M << "<span class='boldannounce'><BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG></span>"
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return 0 //we didn't do anything!
@@ -884,7 +884,7 @@
return
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.")
M << "<span class='userdanger'><BIG>You have been banned by [usr.client.ckey].\nReason: [reason]</BIG></span>"
M << "<span class='boldannounce'><BIG>You have been banned by [usr.client.ckey].\nReason: [reason]</BIG></span>"
M << "<span class='danger'>This is a temporary ban, it will be removed in [mins] minutes.</span>"
feedback_inc("ban_tmp",1)
DB_ban_record(BANTYPE_TEMP, M, mins, reason)
@@ -908,7 +908,7 @@
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP)
if("No")
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
M << "<span class='userdanger'><BIG>You have been banned by [usr.client.ckey].\nReason: [reason]</BIG></span>"
M << "<span class='boldannounce'><BIG>You have been banned by [usr.client.ckey].\nReason: [reason]</BIG></span>"
M << "<span class='danger'>This is a permanent ban.</span>"
if(config.banappeals)
M << "<span class='danger'>To try to resolve this matter head to [config.banappeals]</span>"
@@ -1861,7 +1861,7 @@
MAX_EX_LIGHT_RANGE = 14
MAX_EX_HEAVY_RANGE = 7
MAX_EX_DEVESTATION_RANGE = 3
message_admins("<span class='userdanger'>[key_name_admin(usr)] changed the bomb cap to [MAX_EX_DEVESTATION_RANGE], [MAX_EX_HEAVY_RANGE], [MAX_EX_LIGHT_RANGE]</span>")
message_admins("<span class='boldannounce'>[key_name_admin(usr)] changed the bomb cap to [MAX_EX_DEVESTATION_RANGE], [MAX_EX_HEAVY_RANGE], [MAX_EX_LIGHT_RANGE]</span>")
log_admin("[key_name(usr)] changed the bomb cap to [MAX_EX_DEVESTATION_RANGE], [MAX_EX_HEAVY_RANGE], [MAX_EX_LIGHT_RANGE]")
if("lightsout")
@@ -1953,7 +1953,7 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","RET")
for(var/mob/living/carbon/human/H in player_list)
H << "<span class='userdanger'>You suddenly feel stupid.</span>"
H << "<span class='boldannounce'>You suddenly feel stupid.</span>"
H.setBrainLoss(60)
message_admins("[key_name_admin(usr)] made everybody retarded")
if("eagles")//SCRAW
+1 -1
View File
@@ -707,7 +707,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Attack Log"
usr << text("<span class='userdanger'>Attack Log for []</span>", mob)
usr << "<span class='boldannounce'>Attack Log for [mob]</span>"
for(var/t in M.attack_log)
usr << t
feedback_add_details("admin_verb","ATTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+1 -1
View File
@@ -57,7 +57,7 @@
H.updatehealth()
else if(ismouse(target))
var/mob/living/simple_animal/mouse/M = target
visible_message("<span class='userdanger'>SPLAT!</span>")
visible_message("<span class='boldannounce'>SPLAT!</span>")
M.splat()
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
armed = 0
+1 -2
View File
@@ -42,8 +42,7 @@
/obj/item/device/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj)
if (istype(AM, /obj/effect/beam)) return
if (AM.move_speed < 12) sense()
return
sense()
/obj/item/device/assembly/prox_sensor/sense()
+4 -4
View File
@@ -3,7 +3,7 @@ proc/createRandomZlevel()
return
var/list/potentialRandomZlevels = list()
world << "<span class='userdanger'>Searching for away missions...</span>"
world << "<span class='boldannounce'>Searching for away missions...</span>"
var/list/Lines = file2list("_maps/RandomZLevels/fileList.txt")
if(!Lines.len) return
for (var/t in Lines)
@@ -33,7 +33,7 @@ proc/createRandomZlevel()
if(potentialRandomZlevels.len)
world << "<span class='userdanger'>Loading away mission...</span>"
world << "<span class='boldannounce'>Loading away mission...</span>"
var/map = pick(potentialRandomZlevels)
var/file = file(map)
@@ -46,8 +46,8 @@ proc/createRandomZlevel()
continue
awaydestinations.Add(L)
world << "<span class='userdanger'>Away mission loaded.</span>"
world << "<span class='boldannounce'>Away mission loaded.</span>"
else
world << "<span class='userdanger'>No away missions found.</span>"
world << "<span class='boldannounce'>No away missions found.</span>"
return
+3 -2
View File
@@ -14,8 +14,9 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"pAI", //7
"cultist" = /datum/game_mode/cult, //8
"blob" = /datum/game_mode/blob, //9
"monkey" = /datum/game_mode/monkey, //10
"gangster" = /datum/game_mode/gang //11
"ninja", //10
"monkey" = /datum/game_mode/monkey, //11
"gangster" = /datum/game_mode/gang //12
)
+7 -3
View File
@@ -2,7 +2,7 @@
#define SAVEFILE_VERSION_MIN 8
//This is the current version, anything below this will attempt to update (if it's not obsolete)
#define SAVEFILE_VERSION_MAX 10
#define SAVEFILE_VERSION_MAX 11
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
This proc checks if the current directory of the savefile S needs updating
@@ -33,7 +33,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
/datum/preferences/proc/update_preferences(current_version)
if(current_version < 10)
toggles |= MEMBER_PUBLIC
return
if(current_version < 11)
chat_toggles = TOGGLES_DEFAULT_CHAT
toggles = TOGGLES_DEFAULT
//should this proc get fairly long (say 3 versions long),
//just increase SAVEFILE_VERSION_MIN so it's not as far behind
@@ -99,6 +101,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["UI_style"] >> UI_style
S["be_special"] >> be_special
S["default_slot"] >> default_slot
S["chat_toggles"] >> chat_toggles
S["toggles"] >> toggles
S["ghost_form"] >> ghost_form
@@ -132,6 +135,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["be_special"] << be_special
S["default_slot"] << default_slot
S["toggles"] << toggles
S["chat_toggles"] << chat_toggles
S["ghost_form"] << ghost_form
return 1
@@ -299,4 +303,4 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
/client/verb/savefile_import(path as text)
var/savefile/S = new /savefile(path)
S.ImportText("/",file("[path].txt"))
*/
*/
+36
View File
@@ -129,6 +129,42 @@
tools = list(/obj/item/weapon/screwdriver)
time = 5
/datum/table_recipe/ionslug
name = "Ion Scatter Shell"
result = /obj/item/ammo_casing/shotgun/ion
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/micro_laser/ultra = 1,
/obj/item/weapon/stock_parts/subspace/crystal = 1)
tools = list(/obj/item/weapon/screwdriver)
time = 5
/datum/table_recipe/improvisedslug
name = "Improvised Shotgun Shell"
result = /obj/item/ammo_casing/shotgun/improvised
reqs = list(/obj/item/weapon/grenade/chem_grenade = 1,
/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1,
/datum/reagent/fuel = 10)
tools = list(/obj/item/weapon/screwdriver)
time = 5
/datum/table_recipe/improvisedslugoverload
name = "Overload Improvised Shell"
result = /obj/item/ammo_casing/shotgun/improvised/overload
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
/datum/reagent/blackpowder = 5)
tools = list(/obj/item/weapon/screwdriver)
time = 5
/datum/table_recipe/laserslug
name = "Laser Slug Shell"
result = /obj/item/ammo_casing/shotgun/laserslug
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/obj/item/weapon/stock_parts/capacitor/adv = 1,
/obj/item/weapon/stock_parts/micro_laser/high = 1)
tools = list(/obj/item/weapon/screwdriver)
time = 5
/datum/table_recipe/ishotgun
name = "Improvised Shotgun"
result = /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised
+1 -1
View File
@@ -148,4 +148,4 @@
telespell.clothes_req = 0 //santa robes aren't actually magical.
santa.mind.spell_list += telespell //does the station have chimneys? WHO KNOWS!
santa << "<span class='userdanger'>You are Santa! Your objective is to bring joy to the people on this station. You can conjure more presents using a spell, and there are several presents in your bag.</span>"
santa << "<span class='boldannounce'>You are Santa! Your objective is to bring joy to the people on this station. You can conjure more presents using a spell, and there are several presents in your bag.</span>"
@@ -109,12 +109,14 @@
I.pixel_x = rand(-1,1)
I.pixel_y = rand(-1,1)
if(INGREDIENTS_STACK)
I.pixel_y = ingredients.len
I.pixel_x = rand(-1,1)
I.pixel_y = 2 * ingredients.len - 1
if(INGREDIENTS_STACKPLUSTOP)
I.pixel_y = ingredients.len
I.pixel_x = rand(-1,1)
I.pixel_y = 2 * ingredients.len - 1
overlays.Cut(ingredients.len)
var/image/TOP = new(icon, "[icon_state]_top")
TOP.pixel_y = ingredients.len + 4
TOP.pixel_y = 2 * ingredients.len + 3
overlays += I
overlays += TOP
return
@@ -233,12 +235,12 @@
BS.reagents.trans_to(src, BS.reagents.total_volume)
ingMax = ingredients.len //can't add more ingredients after that
var/image/TOP = new(icon, "[BS.icon_state]")
TOP.pixel_y = ingredients.len + 4
TOP.pixel_y = 2 * ingredients.len + 3
overlays += TOP
if(istype(BS, /obj/item/weapon/reagent_containers/food/snacks/breadslice/custom))
var/image/O = new(icon, "[initial(BS.icon_state)]_filling")
O.color = BS.filling_color
O.pixel_y = ingredients.len + 4
O.pixel_y = 2 * ingredients.len + 3
overlays += O
qdel(BS)
return
@@ -135,11 +135,10 @@
result_amount = 1
mix_message = "The ingredients form a dough."
/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/cakebatter
S.loc = get_turf(holder.my_atom)
if(holder && holder.my_atom)
qdel(holder.my_atom)
/datum/chemical_reaction/dough/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/weapon/reagent_containers/food/snacks/dough(location)
/datum/chemical_reaction/cakebatter
name = "Cake Batter"
@@ -149,11 +148,10 @@
result_amount = 1
mix_message = "The ingredients form a cake batter."
/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/cakebatter
S.loc = get_turf(holder.my_atom)
if(holder && holder.my_atom)
qdel(holder.my_atom)
/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/weapon/reagent_containers/food/snacks/cakebatter(location)
/datum/chemical_reaction/cakebatter/vegan
id = "vegancakebatter"
+1 -1
View File
@@ -222,7 +222,7 @@
/obj/item/weapon/grown/nettle/death
seed = /obj/item/seeds/deathnettleseed
name = "deathnettle"
desc = "The <span class='danger'>glowing</span> \black nettle incites <span class='userdanger'>rage</span>\black in you just from looking at it!"
desc = "The <span class='danger'>glowing</span> \black nettle incites <span class='boldannounce'>rage</span>\black in you just from looking at it!"
icon_state = "deathnettle"
force = 30
throwforce = 15
@@ -12,7 +12,7 @@
faction = list("alien")
ventcrawler = 2
languages = ALIEN
nightvision = 1
var/nightvision = 1
var/storedPlasma = 250
var/max_plasma = 500
@@ -7,7 +7,6 @@
var/leap_on_click = 0
var/pounce_cooldown = 0
var/pounce_cooldown_time = 30
update_icon = 1
//This is fine right now, if we're adding organ specific damage this needs to be updated
/mob/living/carbon/alien/humanoid/New()
@@ -74,7 +74,7 @@
icon = 'icons/mob/alienqueen.dmi'
icon_state = "queen_s"
pixel_x = -16
mob_size = 2
mob_size = MOB_SIZE_LARGE
/mob/living/carbon/alien/humanoid/queen/large/update_icons()
update_hud() //TODO: remove the need for this to be here
@@ -3,7 +3,7 @@
real_name = "alien larva"
icon_state = "larva0"
pass_flags = PASSTABLE | PASSMOB
mob_size = 0
mob_size = MOB_SIZE_SMALL
maxHealth = 25
health = 25
@@ -48,11 +48,11 @@ var/const/MAX_ACTIVE_TIME = 400
return
switch(stat)
if(DEAD,UNCONSCIOUS)
user << "<span class='userdanger'>[src] is not moving.</span>"
user << "<span class='boldannounce'>[src] is not moving.</span>"
if(CONSCIOUS)
user << "<span class='userdanger'>[src] seems to be active!</span>"
user << "<span class='boldannounce'>[src] seems to be active!</span>"
if (sterile)
user << "<span class='userdanger'>It looks like the proboscis has been removed.</span>"
user << "<span class='boldannounce'>It looks like the proboscis has been removed.</span>"
/obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m, params)
if(O.force)
@@ -223,7 +223,7 @@ var/const/MAX_ACTIVE_TIME = 400
icon_state = "[initial(icon_state)]_dead"
stat = DEAD
src.visible_message("<span class='userdanger'>[src] curls up into a ball!</span>")
visible_message("<span class='danger'>[src] curls up into a ball!</span>")
return
@@ -1,8 +1,8 @@
/mob/living/carbon/brain/death(gibbed)
if(stat == DEAD) return
if(!gibbed && container && istype(container, /obj/item/device/mmi))//If not gibbed but in a container.
for(var/mob/O in viewers(container, null))
O.show_message(text("<span class='userdanger'>[]'s MMI flatlines!</span>", src), 1, "<span class='danger'>You hear something flatline.</span>", 2)
container.visible_message("<span class='danger'>[src]'s MMI flatlines!</span>", \
"<span class='danger'>You hear something flatline.</span>")
if(istype(src,/obj/item/organ/brain/alien))
container.icon_state = "mmi_alien_dead"
else
-8
View File
@@ -1,11 +1,3 @@
/mob/living/carbon
var/oxygen_alert = 0
var/toxins_alert = 0
var/fire_alert = 0
var/pressure_alert = 0
var/temperature_alert = 0
/mob/living/carbon/Life()
set invisibility = 0
set background = BACKGROUND_ENABLED
@@ -7,7 +7,6 @@
gender = NEUTER
pass_flags = PASSTABLE
languages = MONKEY
update_icon = 0 ///no need to call regenerate_icon
ventcrawler = 1
/mob/living/carbon/monkey/New()
@@ -262,5 +261,4 @@
src << "<span class='warning'>Your mask protects you from the acid.</span>"
return
if(!unacidable)
take_organ_damage(min(6*toxpwr, acid_volume * toxpwr))
take_organ_damage(min(6*toxpwr, acid_volume * toxpwr))
@@ -16,7 +16,6 @@
health = 150
gender = NEUTER
update_icon = 0
nutrition = 700
see_in_dark = 8
+1 -2
View File
@@ -138,8 +138,7 @@ proc/vol_by_throwforce_and_or_w_class(var/obj/item/I)
/mob/living/acid_act(var/acidpwr, var/toxpwr, var/acid_volume)
if(!unacidable)
take_organ_damage(min(10*toxpwr, acid_volume * toxpwr))
take_organ_damage(min(10*toxpwr, acid_volume * toxpwr))
/mob/living/proc/grabbedby(mob/living/carbon/user)
if(user == src || anchored)
+1 -2
View File
@@ -39,8 +39,7 @@
var/ventcrawler = 0 //0 No vent crawling, 1 vent crawling in the nude, 2 vent crawling always
var/floating = 0
var/nightvision = 0
var/mob_size = 1 //size of the mob. 0 is small, 1 is human sized, and 2 is large.
var/mob_size = MOB_SIZE_HUMAN
var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
var/list/image/staticOverlays = list()
+1 -1
View File
@@ -3,7 +3,7 @@
icon = 'icons/obj/status_display.dmi' //invisibility!
mouse_opacity = 0
density = 0
mob_size = 0
mob_size = MOB_SIZE_SMALL
var/network = "SS13"
var/obj/machinery/camera/current = null
@@ -123,7 +123,7 @@
if(mmi.brainmob)
mind.transfer_to(mmi.brainmob)
else
src << "<span class='userdanger'>Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.</span>"
src << "<span class='boldannounce'>Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.</span>"
ghostize()
ERROR("A borg has been destroyed, but its MMI lacked a brainmob, so the mind could not be transferred. Player: [ckey].")
mmi = null
@@ -469,7 +469,7 @@
else if(istype(W, /obj/item/weapon/wrench) && opened && !cell) //Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module.
if(!lockcharge)
user << "<span class='userdanger'>[src]'s bolts spark! Maybe you should lock them down first!</span>"
user << "<span class='boldannounce'>[src]'s bolts spark! Maybe you should lock them down first!</span>"
spark_system.start()
return
else
@@ -94,7 +94,7 @@
environment_smash = 2
attack_sound = 'sound/weapons/punch3.ogg'
status_flags = 0
mob_size = 2
mob_size = MOB_SIZE_SMALL
force_threshold = 11
construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall)
playstyle_string = "<B>You are a Juggernaut. Though slow, your shell can withstand extreme punishment, \
@@ -16,7 +16,7 @@
friendly = "nudges"
pass_flags = PASSTABLE
ventcrawler = 2
mob_size = 0
mob_size = MOB_SIZE_SMALL
/mob/living/simple_animal/butterfly/New()
..()
@@ -77,4 +77,4 @@
icon_living = "kitten"
icon_dead = "kitten_dead"
gender = NEUTER
mob_size = 0
mob_size = MOB_SIZE_SMALL
@@ -468,7 +468,7 @@
icon_state = "puppy"
icon_living = "puppy"
icon_dead = "puppy_dead"
mob_size = 0
mob_size = MOB_SIZE_SMALL
//puppies cannot wear anything.
/mob/living/simple_animal/corgi/puppy/Topic(href, href_list)
@@ -31,7 +31,7 @@
gender = NEUTER
voice_name = "synthesized chirp"
languages = DRONE
mob_size = 0
mob_size = MOB_SIZE_SMALL
has_unlimited_silicon_privilege = 1
staticOverlays = list()
var/staticChoice = "static"
@@ -168,7 +168,7 @@
ventcrawler = 2
var/amount_grown = 0
pass_flags = PASSTABLE | PASSGRILLE
mob_size = 0
mob_size = MOB_SIZE_SMALL
/mob/living/simple_animal/chick/New()
..()
@@ -15,4 +15,4 @@
response_disarm = "shoos"
response_harm = "stomps on"
ventcrawler = 2
mob_size = 0
mob_size = MOB_SIZE_SMALL
@@ -21,7 +21,7 @@
density = 0
ventcrawler = 2
pass_flags = PASSTABLE | PASSGRILLE
mob_size = 0
mob_size = MOB_SIZE_SMALL
var/body_color //brown, gray and white, leave blank for random
/mob/living/simple_animal/mouse/New()
@@ -129,7 +129,7 @@
move_to_delay = 4
maxHealth = 400
health = 400
mob_size = 2
mob_size = MOB_SIZE_LARGE
/obj/item/projectile/neurotox
name = "neurotoxin"
@@ -72,7 +72,7 @@
maxHealth = 65
health = 65
pixel_x = -16
mob_size = 2
mob_size = MOB_SIZE_LARGE
melee_damage_lower = 20
melee_damage_upper = 20
@@ -81,7 +81,7 @@
var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
smoke.set_up(5, 0, src.loc)
smoke.start()
visible_message("<span class='userdanger'>The [src] warps in!</span>")
visible_message("<span class='boldannounce'>The [src] warps in!</span>")
playsound(src.loc, 'sound/effects/EMPulse.ogg', 25, 1)
warpbots()
@@ -349,7 +349,7 @@
aggro_vision_range = 9
idle_vision_range = 5
anchored = 1 //Stays anchored until death as to be unpullable
mob_size = 2
mob_size = MOB_SIZE_LARGE
var/pre_attack = 0
/mob/living/simple_animal/hostile/asteroid/goliath/Life()
@@ -23,7 +23,7 @@
attack_sound = 'sound/weapons/bite.ogg'
environment_smash = 0
ventcrawler = 2
mob_size = 0
mob_size = MOB_SIZE_SMALL
//Space bats need no air to fly in.
@@ -79,7 +79,7 @@
if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
src.health -= Proj.damage
else
visible_message("<span class='userdanger'>[src] blocks [Proj] with its shield!</span>")
visible_message("<span class='danger'>[src] blocks [Proj] with its shield!</span>")
return 0
@@ -158,7 +158,7 @@
min_n2 = 0
max_n2 = 0
minbodytemp = 0
mob_size = 0
mob_size = MOB_SIZE_SMALL
/mob/living/simple_animal/hostile/viscerator/Die()
..()
@@ -14,7 +14,7 @@
speed = 1
maxHealth = 250
health = 250
mob_size = 2
mob_size = MOB_SIZE_LARGE
pixel_x = -16
@@ -54,7 +54,7 @@
a_intent = "harm" //parrots now start "aggressive" since only player parrots will nuzzle.
attacktext = "chomps"
friendly = "grooms"
mob_size = 0
mob_size = MOB_SIZE_SMALL
var/parrot_damage_upper = 10
var/parrot_state = PARROT_WANDER //Hunt for a perch when created
-3
View File
@@ -790,9 +790,6 @@ var/list/slot_equipment_priority = list( \
density = !lying
update_transform()
lying_prev = lying
if(update_icon) //forces a full overlay update
update_icon = 0
regenerate_icons()
return canmove
+1 -8
View File
@@ -17,7 +17,6 @@
var/obj/screen/m_select = null
var/obj/screen/healths = null
var/obj/screen/throw_icon = null
var/obj/screen/pressure = null
var/obj/screen/damageoverlay = null
/*A bunch of this stuff really needs to go under their own defines instead of being globally attached to mob.
A variable should only be globally attached to turfs/objects/whatever, when it is in fact needed as such.
@@ -60,7 +59,6 @@
var/canmove = 1
var/eye_stat = null//Living, potentially Carbon
var/lastpuke = 0
var/unacidable = 0
var/name_archive //For admin things like possession
@@ -137,7 +135,6 @@
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
var/update_icon = 1 //Set to 1 to trigger update_icons() at the next life() call
var/status_flags = CANSTUN|CANWEAKEN|CANPARALYSE|CANPUSH //bitflags defining which status effects can be inflicted (replaces canweaken, canstun, etc)
@@ -147,13 +144,9 @@
var/has_unlimited_silicon_privilege = 0 // Can they interact with station electronics
var/list/radar_blips = list() // list of screen objects, radar blips
var/radar_open = 0 // nonzero is radar is open
var/force_compose = 0 //If this is nonzero, the mob will always compose it's own hear message instead of using the one given in the arguments.
var/obj/control_object //Used by admins to possess objects. All mobs should have this var
var/atom/movable/remote_control //Calls relaymove() to whatever it is
var/turf/listed_turf = null //the current turf being examined in the stat panel
var/last_movement = 0 // Last world.time the mob actually moved of its own accord.
var/turf/listed_turf = null //the current turf being examined in the stat panel
-1
View File
@@ -200,7 +200,6 @@
step(mob, pick(cardinal))
else
. = ..()
mob.last_movement=world.time
moving = 0
if(mob && .)
+1 -1
View File
@@ -190,7 +190,7 @@
var/datum/picture/selection
var/mob/living/silicon/ai/tempAI = usr
if(tempAI.aicamera.aipictures.len == 0)
usr << "<span class='userdanger'>No images saved</span>"
usr << "<span class='boldannounce'>No images saved</span>"
return
for(var/datum/picture/t in tempAI.aicamera.aipictures)
nametemp += t.fields["name"]
+1 -1
View File
@@ -336,7 +336,7 @@ obj/item/device/camera/siliconcam/proc/selectpicture(var/obj/item/device/camera/
var/list/nametemp = list()
var/find
if(targetloc.aipictures.len == 0)
usr << "<span class='userdanger'>No images saved</span>"
usr << "<span class='boldannounce'>No images saved</span>"
return
for(var/datum/picture/t in targetloc.aipictures)
nametemp += t.fields["name"]
@@ -61,13 +61,28 @@
/obj/item/ammo_casing/shotgun/improvised
name = "improvised shell"
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards."
icon_state = "gshell"
icon_state = "improvshell"
projectile_type = /obj/item/projectile/bullet/pellet/weak
m_amt = 250
pellets = 5
variance = 0.8
/obj/item/ammo_casing/shotgun/improvised/overload
name = "overloaded improvised shell"
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards. This one has been packed with even more \
propellant. It's like playing russian roulette, with a shotgun."
icon_state = "improvshell"
projectile_type = /obj/item/projectile/bullet/pellet/random
m_amt = 250
pellets = 5
variance = 1.0
/obj/item/ammo_casing/shotgun/improvised/overload/New()
..()
pellets = rand(3, 8)
/obj/item/ammo_casing/shotgun/stunslug
name = "taser slug"
desc = "A stunning taser slug."
@@ -110,6 +125,21 @@
pellets = 4
variance = 0.9
/obj/item/ammo_casing/shotgun/ion
name = "ion shell"
desc = "An advanced shotgun shell which uses a subspace ansible crystal to produce an effect similar to a standard ion rifle. \
The unique properties of the crystal splot the pulse into a spread of individually weaker bolts."
icon_state = "ionshell"
projectile_type = /obj/item/projectile/ion/weak
pellets = 4
variance = 0.9
/obj/item/ammo_casing/shotgun/laserslug
name = "laser slug"
desc = "An advanced shotgun shell that uses a micro laser to replicate the effects of a laser weapon in a ballistic package."
icon_state = "lshell"
projectile_type = /obj/item/projectile/beam
/obj/item/ammo_casing/shotgun/techshell
name = "unloaded technological shell"
desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects."
@@ -127,7 +127,7 @@
/obj/item/weapon/gun/projectile/revolver/russian
name = "russian revolver"
desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism that spins the chamber before each trigger pull."
desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism requiring to spin the chamber before each trigger pull."
origin_tech = "combat=2;materials=2"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357
var/spun = 0
@@ -175,13 +175,17 @@
user << "<span class='notice'>[src] is empty.</span>"
/obj/item/weapon/gun/projectile/revolver/russian/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)
if(user.a_intent == "harm") // Flogging action
return
if(flag)
if(!(target in user.contents) && ismob(target))
if(user.a_intent == "harm") // Flogging action
return
if(isliving(user))
if(!can_trigger_gun(user))
return
if(target != user)
user << "<span class='warning'>A mechanism prevents you from shooting anyone but yourself.</span>"
if(ismob(target))
user << "<span class='warning'>A mechanism prevents you from shooting anyone but yourself.</span>"
return
if(ishuman(user))
@@ -27,6 +27,9 @@
/obj/item/projectile/bullet/pellet/weak
damage = 3
/obj/item/projectile/bullet/pellet/random/New()
damage = rand(10)
/obj/item/projectile/bullet/midbullet
damage = 20
stamina = 65 //two round bursts from the c20r knocks people down
@@ -12,6 +12,13 @@
return 1
/obj/item/projectile/ion/weak
/obj/item/projectile/ion/weak/on_hit(atom/target, blocked = 0)
empulse(target, 0, 0)
return 1
/obj/item/projectile/bullet/gyro
name ="explosive bolt"
icon_state= "bolter"
@@ -188,6 +195,10 @@ obj/item/projectile/kinetic/New()
damage = 25
weaken = 5
/obj/item/projectile/bullet/frag12/on_hit(atom/target, blocked = 0)
explosion(target, -1, 0, 1)
return 1
/obj/item/projectile/bullet/magspear
name = "magnetic spear"
desc = "WHITE WHALE, HOLY GRAIL"

Some files were not shown because too many files have changed in this diff Show More