Merge pull request #1171 from ZomgPonies/monkey

Converting monkeys to human subtypes
This commit is contained in:
Fox-McCloud
2015-05-26 22:14:55 -04:00
249 changed files with 1452 additions and 4690 deletions
+3 -3
View File
@@ -2469,7 +2469,7 @@
"aVy" = (/turf/simulated/floor,/area/hallway/primary/central/ne)
"aVz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/reinforced,/obj/item/stack/packageWrap,/obj/item/weapon/pen/blue{pixel_x = 0; pixel_y = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/book/manual/barman_recipes,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVB" = (/obj/structure/disposalpipe/segment{dir = 4},/mob/living/carbon/monkey{tag = "icon-punpun1"; name = "Pun Pun"; icon_state = "punpun1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVB" = (/obj/structure/disposalpipe/segment{dir = 4},/mob/living/carbon/human/monkey/punpun,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVC" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVD" = (/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
"aVE" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar)
@@ -4881,7 +4881,7 @@
"bPS" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable,/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bPT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bPU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning)
"bPV" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
"bPV" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics)
"bPW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/roller,/obj/item/weapon/storage/box/disks,/obj/structure/table/glass,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics)
"bPX" = (/turf/simulated/wall/r_wall,/area/toxins/server_coldroom)
"bPY" = (/obj/machinery/door/firedoor{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = null; req_access_txt = "30"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
@@ -7465,7 +7465,7 @@
"cNC" = (/obj/item/weapon/storage/fancy/vials,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cND" = (/obj/item/weapon/storage/lockbox/vials,/obj/structure/table/glass,/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cNE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/virology/lab)
"cNF" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/wolpincubes,/obj/item/weapon/storage/box/farwacubes,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cNF" = (/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/structure/table/glass,/obj/item/weapon/storage/box/farwacubes,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cNG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cNH" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/camera{c_tag = "Virology Lab East"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/virology/lab)
"cNI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/medical/virology/lab)
+1 -1
View File
@@ -590,7 +590,7 @@
"lr" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/wizard_station)
"ls" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
"lt" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
"lu" = (/mob/living/carbon/monkey,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
"lu" = (/mob/living/carbon/human/monkey,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station)
"lv" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station)
"lw" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
"lx" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "syndicate_elite"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership)
+7 -6
View File
@@ -358,8 +358,8 @@
"gT" = (/obj/machinery/light{dir = 1},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/research_outpost/anomaly)
"gU" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly)
"gV" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/color/latex,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
"gW" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"gX" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"gW" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/mob/living/carbon/human/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"gX" = (/mob/living/carbon/human/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"gY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"gZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/power/apc{dir = 4; name = "Outpost Hallways APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"ha" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power)
@@ -393,8 +393,8 @@
"hC" = (/obj/machinery/door/window/westleft{dir = 8; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/anomaly)
"hD" = (/turf/simulated/floor,/area/research_outpost/anomaly)
"hE" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/color/latex,/obj/machinery/camera{c_tag = "Research Outpost Anomaly Lab Storage"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly)
"hF" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"hG" = (/obj/structure/window/reinforced{dir = 4},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"hF" = (/obj/structure/window/reinforced{dir = 4},/mob/living/carbon/human/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"hG" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/mob/living/carbon/human/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"hH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"hI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"hJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power)
@@ -1588,8 +1588,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafeVeWeXerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkdSaaaaaReseseseseseseseYeZfafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfueOfvfwfxfyeOfzacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadaaaaaaaaaaaaaaadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaffAfBfCfDerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaResesesesesesesfEfFeufGfHfIfJfKfLfMaMfNfOfPfQfRfSfTfUfVdbfWfXfYfZfZgagbgcgdgeacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafgfggghergigjererererbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaResesesesesesesgkfFeufGfHglgmfKgngoaMgpgqdbgrdbdbdbdbgsdbgtgueOgvgwgxgygzemgAaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafgBgCgDgEgFgGbRdQgHergIgJerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaResesesesesesesbbfFeugKfHgLgMfKgNgOaMgPgQgRgSgTgUgVdbgWgXgYgZhahbhchdhehfemacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhghhgChihjhkhlhmgHhngJgJgIerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahohphqhrhshthqhuhvhwhxbbhyhzaMaMaMaMaMhAhBhCgShDgUhEdbhFhGhHhIhJhKhLhMhNhOhPhQaMhRbAaBaBaBaBaBaBaChSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafgBgCgDgEgFgGbRdQgHergIgJerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaResesesesesesesbbfFeugKfHgLgMfKgNgOaMgPgQgRgSgTgUgVdbgXgWgYgZhahbhchdhehfemacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhghhgChihjhkhlhmgHhngJgJgIerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahohphqhrhshthqhuhvhwhxbbhyhzaMaMaMaMaMhAhBhCgShDgUhEdbhGhFhHhIhJhKhLhMhNhOhPhQaMhRbAaBaBaBaBaBaBaChSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahThghhhggDgDgihUhjerfDhVergJhWerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaahXhYhZiaibibicidieifigihiiijikiliminioipiqirisitiuivdbiwixiyizeOeOiAeOeOeOiBiCiDiEiFiGiGiHiGiGiGiIbiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafiJiKgDiLiMgDeXiNhkiOiPiQererererererbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkacacacacacacacacacacacacacaaaaaaaaaaiRiSibibibibiTiUiViWiXiYiZjaikjbjcjdjejfjgjhjijjjkjljmjnjkjojpjqjrjsjtjqjujqjkjvjwjxjyjzjAjBjCjDiGbyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafjEjFjGgDiMjHhijIhjjJerjKjLerjMgHjNjOerbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkacacacacacacacacacacacacacacaaaaaaaaaajPjQibibjRibjSjTjUjVjWjXjYjZikkakbkckdkekfkgkhkikjkkklkmknkkkoklkpkkklkqkrksktkukvkwkxkykzkAkAkBiGbyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -1787,3 +1787,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
+4 -7
View File
@@ -37,12 +37,12 @@
if(!istype(T))
return
add_underlay(T, node1, turn(dir, -180))
if(istype(src, /obj/machinery/atmospherics/tvalve/mirrored))
add_underlay(T, node2, turn(dir, 90))
else
add_underlay(T, node2, turn(dir, -90))
add_underlay(T, node3, dir)
/obj/machinery/atmospherics/tvalve/hide(var/i)
@@ -172,9 +172,6 @@
/obj/machinery/atmospherics/tvalve/attack_ai(mob/user as mob)
return
/obj/machinery/atmospherics/tvalve/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/atmospherics/tvalve/attack_hand(mob/user as mob)
src.add_fingerprint(usr)
update_icon(1)
@@ -224,7 +221,7 @@
src.connected_to = c
node3 = target
break
update_icon()
update_underlays()
@@ -419,7 +416,7 @@
if(target.initialize_directions & get_dir(target,src))
node3 = target
break
update_icon()
update_underlays()
-3
View File
@@ -132,9 +132,6 @@
/obj/machinery/atmospherics/valve/attack_ai(mob/user as mob)
return
/obj/machinery/atmospherics/valve/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/atmospherics/valve/attack_hand(mob/user as mob)
src.add_fingerprint(usr)
update_icon(1)
+1 -1
View File
@@ -3,7 +3,7 @@
/////Initial Building/////
//////////////////////////
/hook/startup/proc/makeDatumRefLists()
/proc/makeDatumRefLists()
var/list/paths
//Hair - Initialise all /datum/sprite_accessory/hair into an list indexed by hair-style name
-6
View File
@@ -558,16 +558,10 @@ Turf and target are seperate in case you want to teleport some distance from a t
moblist.Add(M)
for(var/mob/new_player/M in sortmob)
moblist.Add(M)
for(var/mob/living/carbon/monkey/M in sortmob)
moblist.Add(M)
for(var/mob/living/carbon/slime/M in sortmob)
moblist.Add(M)
for(var/mob/living/simple_animal/M in sortmob)
moblist.Add(M)
// for(var/mob/living/silicon/hivebot/M in world)
// mob_list.Add(M)
// for(var/mob/living/silicon/hive_mainframe/M in world)
// mob_list.Add(M)
return moblist
//E = MC^2
+3 -3
View File
@@ -174,10 +174,10 @@ datum/hud/New(mob/owner)
var/ui_color = mymob.client.prefs.UI_style_color
var/ui_alpha = mymob.client.prefs.UI_style_alpha
if(ishuman(mymob))
human_hud(ui_style, ui_color, ui_alpha) // Pass the player the UI style chosen in preferences
else if(ismonkey(mymob))
if(issmall(mymob))
monkey_hud(ui_style)
else if(ishuman(mymob))
human_hud(ui_style, ui_color, ui_alpha) // Pass the player the UI style chosen in preferences
else if(isbrain(mymob))
brain_hud(ui_style)
else if( islarva(mymob) || isfacehugger(mymob) )
+1 -34
View File
@@ -50,39 +50,6 @@
/mob/living/RestrainedClickOn(var/atom/A)
return
/*
Monkeys
*/
/mob/living/carbon/monkey/UnarmedAttack(var/atom/A)
A.attack_paw(src)
/atom/proc/attack_paw(mob/user as mob)
return
/*
Monkey RestrainedClickOn() was apparently the
one and only use of all of the restrained click code
(except to stop you from doing things while handcuffed);
moving it here instead of various hand_p's has simplified
things considerably
*/
/mob/living/carbon/monkey/RestrainedClickOn(var/atom/A)
if(..())
return
if(a_intent != "harm" || !ismob(A)) return
if(is_muzzled())
return
var/mob/living/carbon/ML = A
var/dam_zone = ran_zone(pick("chest", "l_hand", "r_hand", "l_leg", "r_leg"))
var/armor = ML.run_armor_check(dam_zone, "melee")
if(prob(75))
ML.apply_damage(rand(1,3), BRUTE, dam_zone, armor)
for(var/mob/O in viewers(ML, null))
O.show_message("\red <B>[name] has bit [ML]!</B>", 1)
if(armor >= 2) return
else
for(var/mob/O in viewers(ML, null))
O.show_message("\red <B>[src] has attempted to bite [ML]!</B>", 1)
/*
Aliens
Defaults to same as monkey in most places
@@ -90,7 +57,7 @@
/mob/living/carbon/alien/UnarmedAttack(var/atom/A)
A.attack_alien(src)
/atom/proc/attack_alien(mob/user as mob)
attack_paw(user)
attack_hand(user)
return
/mob/living/carbon/alien/RestrainedClickOn(var/atom/A)
return
+1 -1
View File
@@ -54,7 +54,7 @@
/**
* Podman hook.
* Called in podmen.dm when someone is brought back as a Diona.
* Parameters: var/mob/living/carbon/monkey/diona
* Parameters: var/mob/living/carbon/primitive/diona
*/
/hook/harvest_podman
+1 -41
View File
@@ -137,7 +137,7 @@ datum/mind
)
var/text = ""
var/mob/living/carbon/human/H = current
if (istype(current, /mob/living/carbon/human) || istype(current, /mob/living/carbon/monkey))
if (istype(current, /mob/living/carbon/human))
/** Impanted**/
if(H.is_loyalty_implanted(H))
text = "Loyalty Implant:<a href='?src=\ref[src];implant=remove'>Remove</a>|<b>Implanted</b></br>"
@@ -343,13 +343,6 @@ datum/mind
text = "<i><b>[text]</b></i>: "
if (istype(current, /mob/living/carbon/human))
text += "<a href='?src=\ref[src];monkey=healthy'>healthy</a>|<a href='?src=\ref[src];monkey=infected'>infected</a>|<b>HUMAN</b>|other"
else if (istype(current, /mob/living/carbon/monkey))
var/found = 0
if(found)
text += "<a href='?src=\ref[src];monkey=healthy'>healthy</a>|<b>INFECTED</b>|<a href='?src=\ref[src];monkey=human'>human</a>|other"
else
text += "<b>HEALTHY</b>|<a href='?src=\ref[src];monkey=infected'>infected</a>|<a href='?src=\ref[src];monkey=human'>human</a>|other"
else
text += "healthy|infected|human|<b>OTHER</b>"
@@ -1012,36 +1005,6 @@ datum/mind
message_admins("[key_name_admin(usr)] has thrall'ed [current].")
log_admin("[key_name(usr)] has thrall'ed [current].")
else if (href_list["monkey"])
var/mob/living/L = current
if (L.notransform)
return
switch(href_list["monkey"])
if("healthy")
if (usr.client.holder.rights & R_ADMIN)
var/mob/living/carbon/human/H = current
var/mob/living/carbon/monkey/M = current
if (istype(H))
log_admin("[key_name(usr)] attempting to monkeyize [key_name(current)]")
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(current)]")
src = null
M = H.monkeyize()
src = M.mind
//world << "DEBUG: \"healthy\": M=[M], M.mind=[M.mind], src=[src]!"
sleep(0) //because deleting of virus is done through spawn(0)
if("human")
var/mob/living/carbon/monkey/M = current
if (istype(M))
log_admin("[key_name(usr)] attempting to humanize [key_name(current)]")
message_admins("\blue [key_name_admin(usr)] attempting to humanize [key_name_admin(current)]")
var/obj/item/weapon/dnainjector/m2h/m2h = new
var/obj/item/weapon/implant/mobfinder = new(M) //hack because humanizing deletes mind --rastaf0
src = null
m2h.inject(M)
src = mobfinder.loc:mind
del(mobfinder)
current.radiation -= 50
else if (href_list["silicon"])
current.hud_updateflag |= (1 << SPECIALROLE_HUD)
switch(href_list["silicon"])
@@ -1396,9 +1359,6 @@ datum/mind
mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist)
mind.active = 1 //indicates that the mind is currently synced with a client
//MONKEY
/mob/living/carbon/monkey/mind_initialize()
..()
//slime
/mob/living/carbon/slime/mind_initialize()
+1 -1
View File
@@ -84,7 +84,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
user << "Not when you're incapacitated."
return 0
if(ishuman(user) || ismonkey(user))
if(ishuman(user))
if(user.is_muzzled())
user << "Mmmf mrrfff!"
return 0
+1 -1
View File
@@ -12,7 +12,7 @@
range = 7
cooldown_min = 30 //30 deciseconds reduction per rank
selection_type = "range"
var/list/compatible_mobs = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
var/list/compatible_mobs = list(/mob/living/carbon/human)
action_icon_state = "spell_horse"
+1 -1
View File
@@ -26,7 +26,7 @@
if("gib")
target.gib()
if("gib_brain")
if(ishuman(target) || ismonkey(target))
if(ishuman(target))
var/mob/living/carbon/C = target
if(C.brain_op_stage != 4) // Their brain is already taken out
var/obj/item/organ/brain/B = new(C.loc)
+2
View File
@@ -799,11 +799,13 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 30
containername = "farwa crate"
/*
/datum/supply_packs/organic/wolpin
name = "Wolpin crate"
contains = list (/obj/item/weapon/storage/box/wolpincubes)
cost = 30
containername = "wolpin crate"
*/
/datum/supply_packs/organic/skrell
name = "Neaera crate"
-4
View File
@@ -251,10 +251,6 @@
return src.master.attackby(a, b, c)
return
/atom/movable/overlay/attack_paw(a, b, c)
if (src.master)
return src.master.attack_paw(a, b, c)
return
/atom/movable/overlay/attack_hand(a, b, c)
if (src.master)
+1 -3
View File
@@ -132,7 +132,7 @@
return
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
if (!ishuman(usr) && !ismonkey(usr)) //Make sure they're a mob that has dna
if (!ishuman(usr)) //Make sure they're a mob that has dna
usr << "\blue Try as you might, you can not climb up into the scanner."
return
if (src.occupant)
@@ -417,8 +417,6 @@
return
return
*/
/obj/machinery/computer/scan_consolenew/attack_paw(user as mob)
attack_hand(user)
/obj/machinery/computer/scan_consolenew/attack_ai(user as mob)
src.add_hiddenprint(user)
+1 -1
View File
@@ -315,7 +315,7 @@
invocation_type = "none"
range = 7
selection_type = "range"
var/list/compatible_mobs = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
var/list/compatible_mobs = list(/mob/living/carbon/human)
include_user = 0
action_icon_state = "genetic_incendiary"
+2 -2
View File
@@ -142,7 +142,7 @@
selection_type = "range"
include_user = 1
// centcomm_cancast = 0
var/list/compatible_mobs = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
var/list/compatible_mobs = list(/mob/living/carbon/human)
action_icon_state = "genetic_cryo"
@@ -240,7 +240,7 @@
action_icon_state = "genetic_eat"
var/list/types_allowed=list(/obj/item,/mob/living/simple_animal, /mob/living/carbon/monkey, /mob/living/carbon/human)
var/list/types_allowed=list(/obj/item,/mob/living/simple_animal, /mob/living/carbon/human)
/obj/effect/proc_holder/spell/wizard/targeted/eat/choose_targets(mob/user = usr)
var/list/targets = new /list()
+84 -159
View File
@@ -5,166 +5,91 @@
block=MONKEYBLOCK
/datum/dna/gene/monkey/can_activate(var/mob/M,var/flags)
return istype(M, /mob/living/carbon/human) || istype(M,/mob/living/carbon/monkey)
return istype(M, /mob/living/carbon/human)
/datum/dna/gene/monkey/activate(var/mob/living/M, var/connected, var/flags)
if(!istype(M,/mob/living/carbon/human))
/datum/dna/gene/monkey/activate(var/mob/living/carbon/human/H, var/connected, var/flags)
if(!istype(H,/mob/living/carbon/human))
// testing("Cannot monkey-ify [M], type is [M.type].")
return
var/mob/living/carbon/human/H = M
H.notransform = 1
var/list/implants = list() //Try to preserve implants.
for(var/obj/item/weapon/implant/W in H)
implants += W
W.loc = null
if(!connected)
for(var/obj/item/W in (H.contents-implants))
if (W==H.w_uniform) // will be teared
continue
H.unEquip(W)
M.notransform = 1
M.canmove = 0
M.icon = null
M.invisibility = 101
var/atom/movable/overlay/animation = new( M.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = src
flick("h2monkey", animation)
sleep(48)
qdel(animation)
var/mob/living/carbon/monkey/O = null
if(H.species.primitive)
O = new H.species.primitive(src)
else
H.gib() //Trying to change the species of a creature with no primitive var set is messy.
return
if(M)
if (M.dna)
O.dna = M.dna.Clone()
M.dna = null
if (M.suiciding)
O.suiciding = M.suiciding
M.suiciding = null
for(var/obj/T in (M.contents-implants))
qdel(T)
O.loc = M.loc
if(M.mind)
M.mind.transfer_to(O) //transfer our mind to the cute little monkey
if (connected) //inside dna thing
var/obj/machinery/dna_scannernew/C = connected
O.loc = C
C.occupant = O
connected = null
O.real_name = text("monkey ([])",copytext(md5(M.real_name), 2, 6))
O.take_overall_damage(M.getBruteLoss() + 40, M.getFireLoss())
O.adjustToxLoss(M.getToxLoss() + 20)
O.adjustOxyLoss(M.getOxyLoss())
O.stat = M.stat
O.a_intent = "hurt"
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
I.implanted = O
// O.update_icon = 1 //queue a full icon update at next life() call
qdel(M)
return
/datum/dna/gene/monkey/deactivate(var/mob/living/M, var/connected, var/flags)
if(!istype(M,/mob/living/carbon/monkey))
testing("Cannot humanize [M], type is [M.type].")
return
var/mob/living/carbon/monkey/Mo = M
Mo.notransform = 1
var/list/implants = list() //Still preserving implants
for(var/obj/item/weapon/implant/W in Mo)
implants += W
W.loc = null
if(!connected)
for(var/obj/item/W in (Mo.contents-implants))
Mo.unEquip(W)
M.notransform = 1
M.canmove = 0
M.icon = null
M.invisibility = 101
var/atom/movable/overlay/animation = new( M.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = src
flick("monkey2h", animation)
sleep(48)
del(animation)
var/mob/living/carbon/human/O
if(Mo.greaterform)
var/greatform = lowertext(Mo.greaterform)
var/typepath = "/mob/living/carbon/human/"
typepath += greatform
O = new typepath(src, greatform)
else
O = new(src)
if (M.dna.GetUIState(DNA_UI_GENDER))
O.gender = FEMALE
else
O.gender = MALE
if (M)
if (M.dna)
O.dna = M.dna.Clone()
M.dna = null
if (M.suiciding)
O.suiciding = M.suiciding
M.suiciding = null
//for(var/obj/T in M)
// del(T)
O.loc = M.loc
if(M.mind)
M.mind.transfer_to(O) //transfer our mind to the human
if (connected) //inside dna thing
var/obj/machinery/dna_scannernew/C = connected
O.loc = C
C.occupant = O
connected = null
var/i
while (!i)
var/randomname
if (O.gender == MALE)
randomname = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names)))
else
randomname = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))
if (findname(randomname))
for(var/obj/item/W in H)
if (W==H.w_uniform) // will be torn
continue
else
O.real_name = randomname
O.dna.real_name = randomname
i++
O.UpdateAppearance()
O.take_overall_damage(M.getBruteLoss(), M.getFireLoss())
O.adjustToxLoss(M.getToxLoss())
O.adjustOxyLoss(M.getOxyLoss())
O.stat = M.stat
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
I.implanted = O
// O.update_icon = 1 //queue a full icon update at next life() call
del(M)
return
H.unEquip(W)
H.regenerate_icons()
H.canmove = 0
H.stunned = 1
H.icon = null
H.invisibility = 101
for(var/t in H.organs)
del(t)
var/atom/movable/overlay/animation = new /atom/movable/overlay( H.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = H
flick("h2monkey", animation)
sleep(48)
//animation = null
H.stunned = 0
H.update_canmove()
H.invisibility = initial(H.invisibility)
if(!H.species.primitive_form) //If the creature in question has no primitive set, this is going to be messy.
H.gib()
return
for(var/obj/item/W in H)
H.unEquip(W)
H.set_species(H.species.primitive_form)
if(H.hud_used)
H.hud_used.monkey_hud()
H << "<B>You are now [H.species.name]. </B>"
qdel(animation)
return H
/datum/dna/gene/monkey/deactivate(var/mob/living/carbon/human/H, var/connected, var/flags)
if(!istype(H,/mob/living/carbon/human))
// testing("Cannot monkey-ify [M], type is [M.type].")
return
for(var/obj/item/W in H)
if (W==H.w_uniform) // will be torn
continue
H.unEquip(W)
H.regenerate_icons()
H.canmove = 0
H.stunned = 1
H.icon = null
H.invisibility = 101
for(var/t in H.organs)
del(t)
var/atom/movable/overlay/animation = new /atom/movable/overlay( H.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = H
flick("monkey2h", animation)
sleep(48)
//animation = null
H.stunned = 0
H.update_canmove()
H.invisibility = initial(H.invisibility)
if(!H.species.greater_form) //If the creature in question has no primitive set, this is going to be messy.
H.gib()
return
if(H.hud_used)
H.hud_used.human_hud()
for(var/obj/item/W in H)
H.unEquip(W)
H.set_species(H.species.greater_form)
H << "<B>You are now [H.species.name]. </B>"
qdel(animation)
return H
@@ -47,7 +47,7 @@
//Fairly important to remember to return 1 on success >.<
/obj/effect/proc_holder/changeling/proc/can_sting(var/mob/user, var/mob/target)
if(!ishuman(user) && !ismonkey(user)) //typecast everything from mob to carbon from this point onwards
if(!ishuman(user)) //typecast everything from mob to carbon from this point onwards
return 0
if(req_human && !ishuman(user))
user << "<span class='warning'>We cannot do that in this form!</span>"
@@ -72,7 +72,7 @@
//used in /mob/Stat()
/obj/effect/proc_holder/changeling/proc/can_be_used_by(var/mob/user)
if(!ishuman(user) && !ismonkey(user))
if(!ishuman(user))
return 0
if(req_human && !ishuman(user))
return 0
@@ -352,7 +352,7 @@ var/list/sting_paths
/mob/proc/make_changeling()
if(!mind)
return
if(!ishuman(src) && !ismonkey(src))
if(!ishuman(src))
return
if(!mind.changeling)
mind.changeling = new /datum/changeling(gender)
@@ -360,7 +360,7 @@ var/list/sting_paths
sting_paths = init_subtypes(/obj/effect/proc_holder/changeling)
if(mind.changeling.purchasedpowers)
remove_changeling_powers(1)
add_language("Changeling")
for(var/language in languages)
@@ -377,7 +377,7 @@ var/list/sting_paths
var/mob/living/carbon/C = src //only carbons have dna now, so we have to typecaste
mind.changeling.absorbed_dna |= C.dna
return 1
//Used to dump the languages from the changeling datum into the actual mob.
/mob/proc/changeling_update_languages(var/updated_languages)
@@ -400,7 +400,7 @@ var/list/sting_paths
mimicing = ""
/mob/proc/remove_changeling_powers(var/keep_free_powers=0)
if(ishuman(src) || ismonkey(src))
if(ishuman(src))
if(mind && mind.changeling)
digitalcamo = 0
mind.changeling.changeling_speak = 0
@@ -16,52 +16,18 @@
return
user << "<span class='warning'>Our genes cry out!</span>"
var/mob/living/carbon/C = user
var/mob/living/carbon/human/H = user
//TODO replace with monkeyize proc
if(!istype(H) || !H.species.primitive_form)
src << "<span class='warning'>We cannot perform this ability in this form!</span>"
return
H.visible_message("<span class='warning'>[H] transforms!</span>")
changeling.geneticdamage = 30
H << "<span class='warning'>Our genes cry out!</span>"
var/list/implants = list() //Try to preserve implants.
for(var/obj/item/weapon/implant/W in C)
for(var/obj/item/weapon/implant/W in H)
implants += W
C.notransform = 1
C.canmove = 0
C.icon = null
C.overlays.Cut()
C.invisibility = 101
var/atom/movable/overlay/animation = new /atom/movable/overlay( C.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = src
flick("h2monkey", animation)
sleep(30)
del(animation)
var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey(src)
O.dna = C.dna.Clone()
C.dna = null
for(var/obj/item/W in C)
C.unEquip(W)
for(var/obj/T in C)
del(T)
O.loc = C.loc
O.name = "monkey ([copytext(md5(C.real_name), 2, 6)])"
O.setToxLoss(C.getToxLoss())
O.adjustBruteLoss(C.getBruteLoss())
O.setOxyLoss(C.getOxyLoss())
O.adjustFireLoss(C.getFireLoss())
O.stat = C.stat
O.a_intent = "harm"
for(var/obj/item/weapon/implant/I in implants)
I.loc = O
I.implanted = O
C.mind.transfer_to(O)
O.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null)
O.changeling_update_languages(changeling.absorbed_languages)
H.monkeyize()
feedback_add_details("changeling_powers","LF")
qdel(C)
return 1
@@ -82,7 +82,7 @@
/obj/effect/proc_holder/changeling/sting/transformation/can_sting(var/mob/user, var/mob/target)
if(!..())
return
if((HUSK in target.mutations) || (!ishuman(target) && !ismonkey(target)))
if((HUSK in target.mutations) || (!ishuman(target)) )
user << "<span class='warning'>Our sting appears ineffective against its DNA.</span>"
return 0
if(ishuman(target))
@@ -95,7 +95,7 @@
/obj/effect/proc_holder/changeling/sting/transformation/sting_action(var/mob/user, var/mob/target)
add_logs(target, user, "stung", object="transformation sting", addition=" new identity is [selected_dna.real_name]")
var/datum/dna/NewDNA = selected_dna
if(ismonkey(target))
if(issmall(target))
user << "<span class='notice'>We stealthily sting [target.name].</span>"
target.dna = NewDNA.Clone()
target.real_name = NewDNA.real_name
-36
View File
@@ -679,42 +679,6 @@ var/list/sacrificed = list()
H.dust()//To prevent the MMI from remaining
else
H.gib()
for(var/mob/living/carbon/monkey/M in src.loc)
if (ticker.mode.name == "cult")
if(M.mind == ticker.mode:sacrifice_target)
if(cultsinrange.len >= 3)
sacrificed += M.mind
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
else
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
continue
else
if(prob(20))
usr << "\red The Geometer of Blood accepts your meager sacrifice."
ticker.mode:grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere monkey is not enough to satisfy Him."
else
usr << "\red The Geometer of Blood accepts your meager sacrifice."
if(prob(20))
ticker.mode.grant_runeword(usr)
M.gib()
/* for(var/mob/living/carbon/alien/A)
for(var/mob/K in cultsinrange)
K.say("Barhah hra zar'garis!")
A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need.
if (ticker.mode.name == "cult")
if(prob(75))
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
ticker.mode:grant_runeword(usr)
else
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
usr << "\red However, this alien is not enough to gain His favor."
else
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
return
return fizzle() */
/////////////////////////////////////////SIXTEENTH RUNE
-171
View File
@@ -1,167 +1,3 @@
//this file left in for legacy support
/*
/proc/start_events()
//changed to a while(1) loop since they are more efficient.
//Moved the spawn in here to allow it to be called with advance proc call if it crashes.
//and also to stop spawn copying variables from the game ticker
spawn(3000)
while(1)
if(prob(50))//Every 120 seconds and prob 50 2-4 weak spacedusts will hit the station
spawn(1)
dust_swarm("weak")
if(!event)
//CARN: checks to see if random events are enabled.
if(config.allow_random_events)
if(prob(eventchance))
event()
hadevent = 1
else
Holiday_Random_Event()
else
event = 0
sleep(1200)
/proc/event()
event = 1
var/eventNumbersToPickFrom = list(1,2,4,5,6,7,8,9,10,11,12,13,14, 15) //so ninjas don't cause "empty" events.
if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
eventNumbersToPickFrom += 3
switch(pick(eventNumbersToPickFrom))
if(1)
command_announcement.Announce("Meteors have been detected on collision course with the station.", "Meteor Alert", new_sound = 'sound/AI/meteors.ogg')
spawn(100)
meteor_wave()
spawn_meteors()
spawn(700)
meteor_wave()
spawn_meteors()
if(2)
command_announcement.Announce("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert", new_sound = 'sound/AI/granomalies.ogg')
var/turf/T = pick(blobstart)
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
spawn(rand(50, 300))
del(bh)
/*
if(3) //Leaving the code in so someone can try and delag it, but this event can no longer occur randomly, per SoS's request. --NEO
command_announcement.Announce("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert", new_sound = 'sound/AI/spanomalies.ogg')
var/list/turfs = new
var/turf/picked
for(var/turf/simulated/floor/T in world)
if((T.z in config.station_levels))
turfs += T
for(var/turf/simulated/floor/T in turfs)
if(prob(20))
spawn(50+rand(0,3000))
picked = pick(turfs)
var/obj/effect/portal/P = new /obj/effect/portal( T )
P.target = picked
P.creator = null
P.icon = 'icons/obj/objects.dmi'
P.failchance = 0
P.icon_state = "anom"
P.name = "wormhole"
spawn(rand(300,600))
del(P)
*/
if(3)
if((world.time/10)>=3600 && toggle_space_ninja && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
space_ninja_arrival()//Handled in space_ninja.dm. Doesn't announce arrival, all sneaky-like.
if(4)
mini_blob_event()
if(5)
high_radiation_event()
if(6)
viral_outbreak()
if(7)
alien_infestation()
if(8)
prison_break()
if(9)
carp_migration()
if(10)
immovablerod()
if(11)
lightsout(1,2)
if(12)
appendicitis()
if(13)
IonStorm()
if(14)
spacevine_infestation()
if(15)
communications_blackout()
*/
/*
/proc/viral_outbreak(var/virus = null)
// command_announcement.Announce("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg')
var/virus_type
if(!virus)
virus_type = pick(/datum/disease/dnaspread,/datum/disease/advance/flu,/datum/disease/advance/cold,/datum/disease/brainrot,/datum/disease/magnitis,/datum/disease/pierrot_throat)
else
switch(virus)
if("fake gbs")
virus_type = /datum/disease/fake_gbs
if("gbs")
virus_type = /datum/disease/gbs
if("magnitis")
virus_type = /datum/disease/magnitis
if("rhumba beat")
virus_type = /datum/disease/rhumba_beat
if("brain rot")
virus_type = /datum/disease/brainrot
if("cold")
virus_type = /datum/disease/advance/cold
if("retrovirus")
virus_type = /datum/disease/dnaspread
if("flu")
virus_type = /datum/disease/advance/flu
// if("t-virus")
// virus_type = /datum/disease/t_virus
if("pierrot's throat")
virus_type = /datum/disease/pierrot_throat
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
var/foundAlready = 0 // don't infect someone that already has the virus
var/turf/T = get_turf(H)
if(!T)
continue
if(!(T.z in config.station_levels))
continue
for(var/datum/disease/D in H.viruses)
foundAlready = 1
if(H.stat == 2 || foundAlready)
continue
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
if((!H.dna) || (H.sdisabilities & BLIND)) //A blindness disease would be the worst.
continue
var/datum/disease/dnaspread/D = new
D.strain_data["name"] = H.real_name
D.strain_data["UI"] = H.dna.uni_identity
D.strain_data["SE"] = H.dna.struc_enzymes
D.carrier = 1
D.holder = H
D.affected_mob = H
H.viruses += D
break
else
var/datum/disease/D = new virus_type
D.carrier = 1
D.holder = H
D.affected_mob = H
H.viruses += D
break
spawn(rand(1500, 3000)) //Delayed announcements to keep the crew on their toes.
command_announcement.Announce("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg')
*/
/proc/alien_infestation(var/spawncount = 1) // -- TLE
//command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
var/list/vents = list()
@@ -218,13 +54,6 @@
else
randmutg(H)
domutcheck(H,null,MUTCHK_FORCED)
for(var/mob/living/carbon/monkey/M in living_mob_list)
var/turf/T = get_turf(M)
if(!T)
continue
if(!(T.z in config.station_levels))
continue
M.apply_effect((rand(15,75)),IRRADIATE,0)
sleep(100)
command_announcement.Announce("High levels of radiation detected near the station. Please report to the Med-bay if you feel strange.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg')
+1 -1
View File
@@ -12,7 +12,7 @@
mode.update_icon(H.mind)
return 1
/hook/harvest_podman/proc/update_icon(mob/living/carbon/monkey/diona/D)
/hook/harvest_podman/proc/update_icon(mob/living/carbon/primitive/diona/D)
var/datum/game_mode/mutiny/mode = get_mutiny_mode()
if (!mode) return 1
-2
View File
@@ -23,8 +23,6 @@
/obj/item/flag/nation/attackby(var/obj/item/weapon/W, var/mob/user, params)
return
/obj/item/flag/nation/attack_paw()
return
/obj/item/flag/nation/ex_act()
return
+13 -15
View File
@@ -80,7 +80,7 @@ var/bomb_set
if (istype(O, /obj/item/device/multitool) || istype(O, /obj/item/weapon/wirecutters))
ui_interact(user)
if (src.extended)
if (istype(O, /obj/item/weapon/disk/nuclear))
usr.drop_item()
@@ -159,8 +159,6 @@ var/bomb_set
return
..()
/obj/machinery/nuclearbomb/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/nuclearbomb/attack_hand(mob/user as mob)
if (src.extended)
@@ -182,9 +180,9 @@ var/bomb_set
obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
ui_interact(user)
/obj/machinery/nuclearbomb/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/data[0]
var/data[0]
var/uiwidth
var/uiheight
var/uititle
@@ -197,12 +195,12 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
else
data["authstatus"] = "Auth. S2"
else
if (src.timing)
if (src.timing)
data["authstatus"] = "Set"
else
data["authstatus"] = "Auth. S1"
data["safe"] = src.safety ? "Safe" : "Engaged"
data["time"] = src.timeleft
data["safe"] = src.safety ? "Safe" : "Engaged"
data["time"] = src.timeleft
data["timer"] = src.timing
data["safety"] = src.safety
data["anchored"] = src.anchored
@@ -217,7 +215,7 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
uititle = "Nuke Control Panel"
else
data["hacking"] = 1
var/list/tempwires[0]
var/list/tempwires[0]
for(var/wire in src.wires)
tempwires.Add(list(list("name" = wire, "cut" = src.wires[wire])))
data["wires"] = tempwires
@@ -227,17 +225,17 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
uiwidth = 420
uiheight = 440
uititle = "Nuclear Bomb Defusion"
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
ui = new(user, src, ui_key, "nuclear_bomb.tmpl", uititle, uiwidth, uiheight)
ui.set_initial_data(data)
ui.set_initial_data(data)
ui.open()
/obj/machinery/nuclearbomb/verb/make_deployable()
set category = "Object"
set name = "Make Deployable"
set src in oview(1)
if(usr.stat || !usr.canmove || usr.restrained())
return
@@ -340,8 +338,8 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
if (src.timing == -1.0)
return
if (src.safety)
usr << "\red The safety is still on."
nanomanager.update_uis(src)
usr << "\red The safety is still on."
nanomanager.update_uis(src)
return
src.timing = !( src.timing )
if (src.timing)
@@ -429,7 +427,7 @@ obj/machinery/nuclearbomb/proc/nukehack_win(mob/user as mob)
if(ticker.mode.name == "nuclear emergency")
ticker.mode:nukes_left --
else if(off_station == 1)
world << "<b>A nuclear device was set off, but the explosion was out of reach of the station!</b>"
world << "<b>A nuclear device was set off, but the explosion was out of reach of the station!</b>"
else if(off_station == 2)
world << "<b>A nuclear device was set off, but the device was not on the station!</b>"
else
+9 -9
View File
@@ -118,7 +118,7 @@
//if they are holding or wearing a card that has access, that works
if(src.check_access(H.get_active_hand()) || src.check_access(H.wear_id))
return 1
else if(istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/alien/humanoid))
else if(istype(M, /mob/living/carbon/alien/humanoid))
var/mob/living/carbon/george = M
//they can only hold things :(
if(src.check_access(george.get_active_hand()))
@@ -211,14 +211,14 @@
if("Special Operations Officer")
return get_all_centcom_access() + get_all_accesses()
if("Nanotrasen Navy Representative")
return get_all_centcom_access() + get_all_accesses()
return get_all_centcom_access() + get_all_accesses()
if("Nanotrasen Navy Officer")
return get_all_centcom_access() + get_all_accesses()
if("Nanotrasen Navy Captain")
return get_all_centcom_access() + get_all_accesses()
if("Supreme Commander")
return get_all_centcom_access() + get_all_accesses()
/proc/get_syndicate_access(job)
switch(job)
if("Syndicate Operative")
@@ -226,12 +226,12 @@
if("Syndicate Operative Leader")
return list(access_syndicate, access_syndicate_leader)
if("Vox Raider")
return list(access_vox)
return list(access_vox)
if("Vox Trader")
return list(access_vox)
return list(access_vox)
if("Syndicate Commando")
return list(access_syndicate, access_syndicate_leader)
return list(access_syndicate, access_syndicate_leader)
/proc/get_all_accesses()
return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
access_medical, access_genetics, access_morgue, access_rd,
@@ -470,7 +470,7 @@
return "Bridge"
if(access_cent_commander)
return "Commander"
/proc/get_syndicate_access_desc(A)
switch(A)
if(access_syndicate)
@@ -534,7 +534,7 @@
return assignment
return "Unknown"
proc/GetIdCard(var/mob/living/carbon/human/H)
if(H.wear_id)
var/id = H.wear_id.GetID()
-6
View File
@@ -82,9 +82,6 @@
/obj/machinery/atmospherics/unary/cold_sink/freezer/attack_ai(mob/user as mob)
src.attack_hand(user)
/obj/machinery/atmospherics/unary/cold_sink/freezer/attack_paw(mob/user as mob)
src.attack_hand(user)
/obj/machinery/atmospherics/unary/cold_sink/freezer/attack_hand(mob/user as mob)
if(panel_open)
user << "<span class='notice'>Close the maintenance panel first.</span>"
@@ -239,9 +236,6 @@
/obj/machinery/atmospherics/unary/heat_reservoir/heater/attack_ai(mob/user as mob)
src.attack_hand(user)
/obj/machinery/atmospherics/unary/heat_reservoir/heater/attack_paw(mob/user as mob)
src.attack_hand(user)
/obj/machinery/atmospherics/unary/heat_reservoir/heater/attack_hand(mob/user as mob)
if(panel_open)
user << "<span class='notice'>Close the maintenance panel first.</span>"
+3 -16
View File
@@ -42,19 +42,6 @@
if(prob(75))
del(src)
/obj/machinery/optable/attack_paw(mob/user as mob)
if ((HULK in usr.mutations))
usr << text("\blue You destroy the operating table.")
visible_message("\red [usr] destroys the operating table!")
src.density = 0
del(src)
if (!( locate(/obj/machinery/optable, user.loc) ))
step(user, get_dir(user, src))
if (user.loc == src.loc)
user.layer = TURF_LAYER
visible_message("The monkey hides under the table!")
return
/obj/machinery/optable/attack_hand(mob/user as mob)
if (HULK in usr.mutations)
usr << text("\blue You destroy the table.")
@@ -75,13 +62,13 @@
/obj/machinery/optable/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if(usr.stat || (!ishuman(user) && !isrobot(user)) || user.restrained() || !check_table(user) || user.weakened || user.stunned)
return
if(!ismob(O)) //humans only
return
if(istype(O, /mob/living/simple_animal) || istype(O, /mob/living/silicon)) //animals and robots dont fit
return
var/mob/living/L = O
take_victim(L,usr)
return
+1 -4
View File
@@ -101,9 +101,6 @@
/obj/machinery/sleep_console/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/sleep_console/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/sleep_console/attack_hand(mob/user as mob)
if(..())
return
@@ -577,7 +574,7 @@
set name = "Enter Sleeper"
set category = null
set src in oview(1)
if(usr.stat != 0 || !(ishuman(usr) || ismonkey(usr)))
if(usr.stat != 0 || !(ishuman(usr)))
return
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
-2
View File
@@ -340,8 +340,6 @@
default_deconstruction_crowbar(G)
/obj/machinery/body_scanconsole/attack_paw(user as mob)
return src.attack_hand(user)
/obj/machinery/body_scanconsole/attack_ai(user as mob)
return src.attack_hand(user)
-5
View File
@@ -1109,8 +1109,6 @@ FIRE ALARM
/obj/machinery/firealarm/bullet_act(BLAH)
return src.alarm()
/obj/machinery/firealarm/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/firealarm/emp_act(severity)
if(prob(50/severity)) alarm()
@@ -1368,9 +1366,6 @@ Just a object used in constructing fire alarms
return
master_area=A
/obj/machinery/partyalarm/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/partyalarm/attack_hand(mob/user as mob)
if((user.stat && !isobserver(user)) || stat & (NOPOWER|BROKEN))
return
@@ -24,8 +24,6 @@
src.add_hiddenprint(user)
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return
attack_hand(var/mob/user as mob)
if(..(user))
@@ -376,9 +376,6 @@ update_flag
src.add_hiddenprint(user)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/canister/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/canister/attack_alien(mob/living/carbon/alien/humanoid/user)
return
-3
View File
@@ -96,9 +96,6 @@
src.add_hiddenprint(user)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/pump/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/pump/attack_hand(var/mob/user as mob)
user.set_machine(src)
@@ -150,9 +150,6 @@
src.add_hiddenprint(user)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/scrubber/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/portable_atmospherics/scrubber/attack_hand(var/mob/user as mob)
user.set_machine(src)
+2 -5
View File
@@ -168,9 +168,6 @@
busy = 0
src.updateUsrDialog()
/obj/machinery/autolathe/attack_paw(mob/user)
return attack_hand(user)
/obj/machinery/autolathe/attack_hand(mob/user)
if(..(user, 0))
return
@@ -292,14 +289,14 @@
/obj/machinery/autolathe/proc/can_build(var/datum/design/D,var/multiplier=1,var/custom_metal,var/custom_glass)
var/coeff = get_coeff(D)
var/metal_amount = m_amount
if(custom_metal)
metal_amount = custom_metal
var/glass_amount = g_amount
if(custom_glass)
glass_amount = custom_glass
if(D.materials["$metal"] && (metal_amount < (multiplier*D.materials["$metal"] / coeff)))
return 0
if(D.materials["$glass"] && (glass_amount < (multiplier*D.materials["$glass"] / coeff)))
-3
View File
@@ -291,9 +291,6 @@
if("jacket")
if (check_cost(500/efficiency)) return 0
else new/obj/item/clothing/suit/jacket/leather(src.loc)
//if("monkey")
// if (check_cost(500)) return 0
// else new/mob/living/carbon/monkey(src.loc)
processing = 0
menustat = "complete"
update_icon()
-3
View File
@@ -129,9 +129,6 @@
text_dehack = "You reset [name]'s reagent processor circuits."
text_dehack_fail = "[name] seems damaged and does not respond to reprogramming!"
/obj/machinery/bot/medbot/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/bot/medbot/attack_hand(mob/user as mob)
. = ..()
if (.)
-11
View File
@@ -113,17 +113,6 @@
return
user.electrocute_act(10, src)
/obj/machinery/camera/attack_paw(mob/living/carbon/alien/humanoid/user as mob)
if(!istype(user))
return
user.do_attack_animation(src)
status = 0
visible_message("<span class='warning'>\The [user] slashes at [src]!</span>")
playsound(src.loc, 'sound/weapons/slash.ogg', 100, 1)
icon_state = "[initial(icon_state)]1"
add_hiddenprint(user)
deactivate(user,0)
/obj/machinery/camera/attackby(W as obj, mob/living/user as mob, params)
var/msg = "<span class='notice'>You attach [W] into the assembly inner circuits.</span>"
var/msg2 = "<span class='notice'>The camera already has that upgrade!</span>"
+1 -2
View File
@@ -165,8 +165,7 @@
/obj/machinery/clonepod/attack_ai(mob/user as mob)
return attack_hand(user)
/obj/machinery/clonepod/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/clonepod/attack_hand(mob/user as mob)
if ((isnull(src.occupant)) || (stat & NOPOWER))
return
@@ -15,8 +15,6 @@
attack_ai(var/mob/user as mob)
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return
attack_hand(var/mob/user as mob)
@@ -389,9 +387,6 @@
throwpass = 1 //You can throw objects over this, despite it's density.
/obj/structure/table/holotable/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/structure/table/holotable/attack_alien(mob/user as mob) //Removed code for larva since it doesn't work. Previous code is now a larva ability. /N
return attack_hand(user)
@@ -572,10 +567,6 @@
user << "The station AI is not to interact with these devices"
return
/obj/machinery/readybutton/attack_paw(mob/user as mob)
user << "You are too primitive to use this device"
return
/obj/machinery/readybutton/New()
..()
-3
View File
@@ -26,9 +26,6 @@
/obj/machinery/computer/aifixer/attack_ai(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/aifixer/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/aifixer/attack_hand(var/mob/user as mob)
if(..())
return
@@ -19,9 +19,6 @@
src.add_hiddenprint(user)
return interact(user)
/obj/machinery/computer/atmoscontrol/attack_paw(var/mob/user as mob)
return interact(user)
/obj/machinery/computer/atmoscontrol/attack_hand(mob/user)
if(..())
return
@@ -64,7 +61,7 @@
alarm_list+=alarm
for(var/obj/machinery/alarm/alarm in sortAtom(alarm_list))
if(!is_in_filter(alarm.alarm_area.type))
continue
continue
if(!alarm.remote_control)
continue
if(alarm.hidden)
-2
View File
@@ -46,8 +46,6 @@ var/camera_cache_id = 1
attack_ai(var/mob/user as mob)
return attack_hand(user)
attack_paw(var/mob/user as mob)
return attack_hand(user)
check_eye(var/mob/user as mob)
if ((get_dist(user, src) > 1 || !( user.canmove ) || user.blinded || !( current ) || !( current.status )) && (!istype(user, /mob/living/silicon)))
-2
View File
@@ -74,8 +74,6 @@
/obj/machinery/computer/card/attack_ai(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/card/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/card/attack_hand(mob/user as mob)
if(..()) return
-2
View File
@@ -86,8 +86,6 @@
..()
return
/obj/machinery/computer/cloning/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/cloning/attack_ai(mob/user as mob)
return attack_hand(user)
@@ -256,9 +256,6 @@ var/shuttle_call/shuttle_calls[0]
/obj/machinery/computer/communications/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/communications/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/communications/attack_hand(var/mob/user as mob)
if(..(user))
-14
View File
@@ -141,20 +141,6 @@
src.attack_hand(user)
return
/obj/machinery/computer/attack_paw(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(circuit)
if(prob(10))
user.visible_message("<span class='danger'>[user.name] smashes the [src.name] with its paws.</span>",\
"<span class='danger'>You smash the [src.name] with your paws.</span>",\
"<span class='danger'>You hear a smashing sound.</span>")
set_broken()
return
user.visible_message("<span class='danger'>[user.name] smashes against the [src.name] with its paws.</span>",\
"<span class='danger'>You smash against the [src.name] with your paws.</span>",\
"<span class='danger'>You hear a clicking sound.</span>")
/obj/machinery/computer/attack_alien(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
-2
View File
@@ -21,8 +21,6 @@
/obj/machinery/computer/med_data/attack_ai(user as mob)
return src.attack_hand(user)
/obj/machinery/computer/med_data/attack_paw(user as mob)
return src.attack_hand(user)
/obj/machinery/computer/med_data/attack_hand(mob/user as mob)
if(..())
-4
View File
@@ -120,10 +120,6 @@
return attack_hand(user)
/obj/machinery/computer/pod/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/pod/attack_hand(var/mob/user as mob)
if(..())
return
@@ -9,9 +9,6 @@
/obj/machinery/computer/podtracker/attack_ai(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/podtracker/attack_paw(var/mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/podtracker/attack_hand(var/mob/user as mob)
if(..())
return
-2
View File
@@ -21,8 +21,6 @@
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return
attack_hand(var/mob/user as mob)
@@ -31,9 +31,6 @@ var/prison_shuttle_timeleft = 0
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return src.attack_hand(user)
attackby(I as obj, user as mob, params)
if(istype(I, /obj/item/weapon/screwdriver))
@@ -43,9 +43,6 @@
src.add_hiddenprint(user)
return attack_hand(user)
/obj/machinery/computer/salvage_ship/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/salvage_ship/attack_hand(mob/user as mob)
if(!allowed(user))
user << "\red Access Denied"
-3
View File
@@ -36,9 +36,6 @@
/obj/machinery/computer/secure_data/attack_ai(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/secure_data/attack_paw(mob/user as mob)
return attack_hand(user)
//Someone needs to break down the dat += into chunks instead of long ass lines.
/obj/machinery/computer/secure_data/attack_hand(mob/user as mob)
if(..())
-3
View File
@@ -34,9 +34,6 @@
/obj/machinery/computer/skills/attack_ai(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/skills/attack_paw(mob/user as mob)
return attack_hand(user)
//Someone needs to break down the dat += into chunks instead of long ass lines.
/obj/machinery/computer/skills/attack_hand(mob/user as mob)
if(..())
@@ -250,9 +250,6 @@ var/specops_shuttle_timeleft = 0
user << "\red Access Denied."
return 1
/obj/machinery/computer/specops_shuttle/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/specops_shuttle/attackby(I as obj, user as mob, params)
if(istype(I,/obj/item/weapon/card/emag))
user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals."
-2
View File
@@ -13,8 +13,6 @@
/obj/machinery/computer/merch/New()
..()
/obj/machinery/computer/merch/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/merch/attack_ai(mob/user as mob)
src.add_hiddenprint(user)
@@ -184,9 +184,6 @@ var/syndicate_elite_shuttle_timeleft = 0
user << "\red Access Denied."
return 1
/obj/machinery/computer/syndicate_elite_shuttle/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/syndicate_elite_shuttle/attackby(I as obj, user as mob, params)
if(istype(I,/obj/item/weapon/card/emag))
user << "\blue The electronic systems in this console are far too advanced for your primitive hacking peripherals."
+12 -15
View File
@@ -24,11 +24,11 @@
moving = 1
lastMove = world.time
for(var/obj/machinery/door/airlock/alien/A in world)
A.close()
A.locked = 1
A.update_icon()
A.update_icon()
for(var/mob/M in curr_location)
if(M.client)
@@ -41,20 +41,20 @@
shake_camera(M, 10, 1)
if(istype(M, /mob/living/carbon) && !isalien(M))
if(!M.buckled)
M.Weaken(3)
M.Weaken(3)
if(curr_location.z != dest_location.z)
var/area/transit_location = locate(/area/xenos_station/transit)
curr_location.move_contents_to(transit_location)
curr_location = transit_location
sleep(XENOS_SHUTTLE_MOVE_TIME)
for(var/obj/machinery/door/airlock/alien/A in world)
A.close()
if(dest_location != locate(/area/xenos_station/start))
if(dest_location != locate(/area/xenos_station/start))
A.locked = 0
A.update_icon()
A.update_icon()
var/list/dstturfs = list()
var/throwy = world.maxy
@@ -78,7 +78,7 @@
for(var/mob/living/simple_animal/pest in dest_location) // And for the other kind of bug...
pest.gib()
curr_location.move_contents_to(dest_location)
curr_location = dest_location
moving = 0
@@ -91,9 +91,6 @@
/obj/machinery/computer/xenos_station/attack_ai(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/xenos_station/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/xenos_station/attack_alien(mob/user as mob)
return attack_hand(user)
@@ -101,7 +98,7 @@
if(!allowed(user))
user << "\red Access denied."
return
if(!isalien(user) && !isrobot(user) && !isAI(user))
user << "You do not know how to operate this terminal."
return
@@ -128,7 +125,7 @@
/obj/machinery/computer/xenos_station/Topic(href, href_list)
if(..())
return 1
if(!isliving(usr)) return
var/mob/living/user = usr
@@ -142,7 +139,7 @@
else if(href_list["station_ne"])
xenos_move_to(/area/xenos_station/northeast)
else if(href_list["station_e"])
xenos_move_to(/area/xenos_station/east)
xenos_move_to(/area/xenos_station/east)
else if(href_list["station_sw"])
xenos_move_to(/area/xenos_station/southwest)
else if(href_list["station_se"])
+1 -1
View File
@@ -174,7 +174,7 @@
var/on_store_message = "has entered long-term storage."
var/on_store_name = "Cryogenic Oversight"
var/on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward."
var/allow_occupant_types = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
var/allow_occupant_types = list(/mob/living/carbon/human)
var/disallow_occupant_types = list()
var/mob/living/occupant = null // Person waiting to be despawned.
-6
View File
@@ -37,9 +37,6 @@
else
user << "Error, no route to host."
/obj/machinery/door_control/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door_control/attackby(obj/item/weapon/W, mob/user as mob, params)
/* For later implementation
if (istype(W, /obj/item/weapon/screwdriver))
@@ -140,9 +137,6 @@
/obj/machinery/driver_button/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/driver_button/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/driver_button/attackby(obj/item/weapon/W, mob/user as mob, params)
if(istype(W, /obj/item/device/detective_scanner))
-2
View File
@@ -606,8 +606,6 @@ About the new airlock wires panel:
s.set_up(5, 1, src)
s.start()
return ..()
/obj/machinery/door/airlock/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/airlock/attack_hand(mob/user as mob)
if(!istype(user, /mob/living/silicon))
-8
View File
@@ -132,11 +132,6 @@
/obj/machinery/door/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/attack_hand(mob/user as mob)
return src.attackby(user, user)
@@ -289,9 +284,6 @@
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
L.emote("scream")
L.Weaken(5)
else if(ismonkey(L)) //For monkeys
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
L.Weaken(5)
else //for simple_animals & borgs
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
var/turf/location = src.loc
-2
View File
@@ -227,8 +227,6 @@
return
attack_generic(user, 25)
/obj/machinery/door/window/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/door/window/attack_hand(mob/user as mob)
return src.attackby(user, user)
@@ -3,7 +3,7 @@
name = "Embedded Controller"
anchored = 1
use_power = 1
idle_power_usage = 10
@@ -29,11 +29,9 @@
/obj/machinery/embedded_controller/attack_ai(mob/user as mob)
src.ui_interact(user)
/obj/machinery/embedded_controller/attack_paw(mob/user as mob)
user << "You do not have the dexterity to use this."
return
/obj/machinery/embedded_controller/attack_hand(mob/user as mob)
if(!user.IsAdvancedToolUser())
return 0
src.ui_interact(user)
/obj/machinery/embedded_controller/ui_interact()
@@ -44,7 +42,7 @@
icon_state = "airlock_control_standby"
power_channel = ENVIRON
density = 0
var/id_tag
//var/radio_power_use = 50 //power used to xmit signals
-3
View File
@@ -123,9 +123,6 @@
/obj/machinery/flasher_button/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/flasher_button/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user as mob, params)
return src.attack_hand(user)
-2
View File
@@ -67,8 +67,6 @@
/obj/machinery/computer/guestpass/attack_ai(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/guestpass/attack_paw(var/mob/user as mob)
return attack_hand(user)
/obj/machinery/computer/guestpass/attack_hand(var/mob/user as mob)
if(..())
-3
View File
@@ -46,9 +46,6 @@
/obj/machinery/holosign_switch/attack_ai(mob/user as mob)
return src.attack_hand(user)
/
obj/machinery/holosign_switch/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/holosign_switch/attackby(obj/item/weapon/W, mob/user as mob, params)
if(istype(W, /obj/item/device/detective_scanner))
-7
View File
@@ -13,10 +13,6 @@
/obj/machinery/igniter/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/igniter/attack_paw(mob/user as mob)
if ((ticker && ticker.mode.name == "monkey"))
return src.attack_hand(user)
return
/obj/machinery/igniter/attack_hand(mob/user as mob)
if(..())
@@ -122,9 +118,6 @@
/obj/machinery/ignition_switch/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/ignition_switch/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/ignition_switch/attackby(obj/item/weapon/W, mob/user as mob, params)
return src.attack_hand(user)
-3
View File
@@ -164,9 +164,6 @@
else
src.overlays += image('icons/obj/kitchen.dmi', "gridle")
/obj/machinery/gibber/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/gibber/relaymove(mob/user as mob)
if(locked)
return
-3
View File
@@ -60,9 +60,6 @@
src.updateUsrDialog()
return 0
/obj/machinery/juicer/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/juicer/attack_ai(mob/user as mob)
return 0
-3
View File
@@ -183,9 +183,6 @@
return 1
src.updateUsrDialog()
/obj/machinery/microwave/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/microwave/attack_ai(mob/user as mob)
return 0
@@ -18,8 +18,8 @@
if (istype(O, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = O
var/grabbed = G.affecting
if(istype(grabbed, /mob/living/carbon/monkey))
var/mob/living/carbon/monkey/target = grabbed
if(istype(grabbed, /mob/living/carbon/human/monkey))
var/mob/living/carbon/human/monkey/target = grabbed
if(target.stat == 0)
user << "\red The monkey is struggling far too much to put it in the recycler."
else
+2 -2
View File
@@ -79,11 +79,11 @@
..()
/datum/food_processor_process/mob/monkey
input = /mob/living/carbon/monkey
input = /mob/living/carbon/human/monkey
output = null
/datum/food_processor_process/mob/monkey/process(loc, what)
var/mob/living/carbon/monkey/O = what
var/mob/living/carbon/human/monkey/O = what
if (O.client) //grief-proof
O.loc = loc
O.visible_message("<span class='notice'>Suddenly [O] jumps out from the processor!</span>", \
@@ -133,9 +133,6 @@
updateUsrDialog()
/obj/machinery/smartfridge/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/smartfridge/attack_ai(mob/user as mob)
return 0
-3
View File
@@ -43,9 +43,6 @@
usr << "A light switch. It is [on? "on" : "off"]."
/obj/machinery/light_switch/attack_paw(mob/user)
src.attack_hand(user)
/obj/machinery/light_switch/attack_hand(mob/user)
on = !on
+1 -5
View File
@@ -322,17 +322,13 @@ Class Procs:
else
return src.attack_hand(user)
/obj/machinery/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/attack_hand(mob/user as mob)
if(!interact_offline && stat & (NOPOWER|BROKEN|MAINT))
return 1
if(user.lying || user.stat)
return 1
if ( ! (istype(usr, /mob/living/carbon/human) || \
istype(usr, /mob/living/silicon) || \
istype(usr, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
istype(usr, /mob/living/silicon)))
usr << "\red You don't have the dexterity to do this!"
return 1
/*
+2 -2
View File
@@ -128,10 +128,10 @@
/obj/machinery/navbeacon/attack_ai(var/mob/user)
interact(user, 1)
/obj/machinery/navbeacon/attack_paw()
return
/obj/machinery/navbeacon/attack_hand(var/mob/user)
if(!user.IsAdvancedToolUser())
return 0
interact(user, 0)
/obj/machinery/navbeacon/interact(var/mob/user, var/ai = 0)
+4 -4
View File
@@ -180,6 +180,10 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/machinery/newscaster/attack_hand(mob/user as mob) //########### THE MAIN BEEF IS HERE! And in the proc below this...############
if(!src.ispowered || src.isbroken)
return
if(!user.IsAdvancedToolUser())
return 0
if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
var/mob/living/human_or_robot_user = user
var/dat
@@ -744,10 +748,6 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
return src.attack_hand(user) //or maybe it'll have some special functions? No idea.
/obj/machinery/newscaster/attack_paw(mob/user as mob)
user << "<font color='blue'>The newscaster controls are far too complicated for your tiny brain!</font>"
return
/obj/machinery/newscaster/proc/AttachPhoto(mob/user as mob)
if(photo)
if(!issilicon(user))
@@ -7,9 +7,6 @@
var/unwrenched = 0
var/wait = 0
/obj/machinery/pipedispenser/attack_paw(user as mob)
return src.attack_hand(user)
/obj/machinery/pipedispenser/attack_hand(user as mob)
if(..())
return
+12 -12
View File
@@ -128,7 +128,7 @@
eprojectile = /obj/item/projectile/beam //If it has, going to kill mode
eshot_sound = 'sound/weapons/Laser.ogg'
egun = 1
if(/obj/item/weapon/gun/energy/gun/turret)
eprojectile = /obj/item/projectile/beam //If it has, going to copypaste mode
eshot_sound = 'sound/weapons/Laser.ogg'
@@ -210,7 +210,7 @@
/obj/machinery/porta_turret/proc/HasController()
var/area/A = get_area(src)
return A && A.turret_controls.len > 0
/obj/machinery/porta_turret/CanUseTopic(var/mob/user)
if(HasController())
user << "<span class='notice'>Turrets can only be controlled using the assigned turret controller.</span>"
@@ -336,9 +336,9 @@
spawn()
sleep(60)
attacked = 0
..()
/obj/machinery/porta_turret/emag_act(user as mob)
if(!emagged)
//Emagging the turret makes it go bonkers and stun everyone. It also makes
@@ -450,8 +450,8 @@
assess_and_assign(ME.occupant, targets, secondarytargets)
for(var/obj/spacepod/SP in view(7,src))
assess_and_assign(SP.occupant, targets, secondarytargets)
assess_and_assign(SP.occupant, targets, secondarytargets)
for(var/obj/vehicle/train/T in view(7,src))
assess_and_assign(T.load, targets, secondarytargets)
@@ -502,7 +502,7 @@
if(iscuffed(L)) // If the target is handcuffed, leave it alone
return TURRET_NOT_TARGET
if(isanimal(L) || ismonkey(L)) // Animals are not so dangerous
if(isanimal(L) || issmall(L)) // Animals are not so dangerous
return check_anomalies ? TURRET_SECONDARY_TARGET : TURRET_NOT_TARGET
if(isalien(L)) // Xenos are dangerous
return check_anomalies ? TURRET_PRIORITY_TARGET : TURRET_NOT_TARGET
@@ -524,8 +524,8 @@
var/mob/living/M = pick(targets)
targets -= M
if(target(M))
return 1
return 1
/obj/machinery/porta_turret/proc/popUp() //pops the turret up
if(disabled)
return
@@ -562,7 +562,7 @@
raised = 0
invisibility = INVISIBILITY_LEVEL_TWO
update_icon()
/obj/machinery/porta_turret/on_assess_perp(mob/living/carbon/human/perp)
if((check_access || attacked) && !allowed(perp))
//if the turret has been attacked or is angry, target all non-authorized personnel, see req_access
@@ -616,8 +616,8 @@
// Lethal/emagged turrets use twice the power due to higher energy beams
// Emagged turrets again use twice as much power due to higher firing rates
use_power(reqpower * (2 * (emagged || lethal)) * (2 * emagged))
use_power(reqpower * (2 * (emagged || lethal)) * (2 * emagged))
//Shooting Code:
A.current = T
A.yo = U.y - T.y
-3
View File
@@ -60,9 +60,6 @@
use_power = 1
update_icon()
/obj/machinery/recharger/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/recharger/process()
if(stat & (NOPOWER|BROKEN) || !anchored)
return
-3
View File
@@ -40,9 +40,6 @@
else
stat |= NOPOWER
/obj/machinery/robotic_fabricator/attack_paw(user as mob)
return src.attack_hand(user)
/obj/machinery/robotic_fabricator/attack_hand(user as mob)
var/dat
if (..())
+5 -8
View File
@@ -96,6 +96,8 @@
return
if(stat & NOPOWER)
return
if(!user.IsAdvancedToolUser())
return 0
if(src.panelopen) //The maintenance panel is open. Time for some shady stuff
dat+= "<HEAD><TITLE>Suit storage unit: Maintenance panel</TITLE></HEAD>"
dat+= "<Font color ='black'><B>Maintenance panel controls</B></font><HR>"
@@ -562,10 +564,6 @@
return src.attack_hand(user)
/obj/machinery/suit_storage_unit/attack_paw(mob/user as mob)
user << "<font color='blue'>The console controls are far too complicated for your tiny brain!</font>"
return
//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
@@ -627,10 +625,6 @@
/obj/machinery/suit_cycler/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/suit_cycler/attack_paw(mob/user as mob)
user << "\blue The console controls are far too complicated for your tiny brain!"
return
/obj/machinery/suit_cycler/attackby(obj/item/I as obj, mob/user as mob, params)
if(electrified != 0)
@@ -751,6 +745,9 @@
if(..() || stat & (BROKEN|NOPOWER))
return
if(!user.IsAdvancedToolUser())
return 0
if(electrified != 0)
if(src.shock(user, 100))
return
+1 -1
View File
@@ -82,7 +82,7 @@
race = "[H.species.name]"
else if(ismonkey(M))
else if(issmall(M))
race = "Monkey"
language = race
+1 -8
View File
@@ -46,7 +46,7 @@
else
..()
return
/obj/machinery/computer/teleporter/emag_act(user as mob)
if(!emagged)
emagged = 1
@@ -54,10 +54,6 @@
else
ui_interact(user)
/obj/machinery/computer/teleporter/attack_paw(mob/user)
usr << "You are too primitive to use this computer."
return
/obj/machinery/computer/teleporter/attack_ai(mob/user)
src.attack_hand(user)
@@ -443,9 +439,6 @@
user << "<span class='caution'>You reconnect the station to nearby machinery.</span>"
return
/obj/machinery/teleport/station/attack_paw()
src.attack_hand()
/obj/machinery/teleport/station/attack_ai()
src.attack_hand()
-3
View File
@@ -394,9 +394,6 @@
/obj/machinery/vending/attack_ai(mob/user as mob)
return attack_hand(user)
/obj/machinery/vending/attack_paw(mob/user as mob)
return attack_hand(user)
/obj/machinery/vending/attack_hand(mob/user as mob)
if(stat & (BROKEN|NOPOWER))
return
-3
View File
@@ -524,9 +524,6 @@
src.log_append_to_last("Armor saved.")
return
/obj/mecha/attack_paw(mob/living/user as mob)
return src.attack_hand(user)
/obj/mecha/attack_alien(mob/living/user as mob)
src.log_message("Attack by alien. Attacker - [user].",1)
-3
View File
@@ -12,9 +12,6 @@
attack_ai(var/mob/user as mob)
return src.attack_hand(user)
attack_paw(var/mob/user as mob)
return src.attack_hand(user)
attack_hand(var/mob/user as mob)
if(..())
return
+1 -5
View File
@@ -119,10 +119,6 @@
healthcheck()
/obj/structure/alien/resin/attack_paw(mob/user)
return attack_hand(user)
/obj/structure/alien/resin/attack_alien(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
@@ -314,7 +310,7 @@
Grow()
/obj/structure/alien/egg/attack_paw(mob/user)
/obj/structure/alien/egg/attack_alien(mob/user)
if(isalien(user))
switch(status)
if(BURST)
@@ -1105,10 +1105,6 @@ steam.start() -- spawns the effect
if(metal==1 || prob(50))
del(src)
attack_paw(var/mob/user)
attack_hand(user)
return
attack_hand(var/mob/user)
if ((HULK in user.mutations) || (prob(75 - metal*25)))
user << "\blue You smash through the metal foam wall."
+1 -1
View File
@@ -19,7 +19,7 @@
if(triggered) return
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
if(istype(M, /mob/living/carbon/human))
for(var/mob/O in viewers(world.view, src.loc))
O << "<font color='red'>[M] triggered the \icon[src] [src]</font>"
triggered = 1
+2 -38
View File
@@ -165,7 +165,7 @@
return 1
/obj/item/attack_paw(mob/user as mob)
/obj/item/attack_alien(mob/user as mob)
if(isalien(user)) // -- TLE
var/mob/living/carbon/alien/A = user
@@ -202,7 +202,7 @@
A.unEquip(src)
user << "Your claws aren't capable of such fine manipulation."
return
attack_paw(A)
attack_hand(A)
/obj/item/attack_ai(mob/user as mob)
if (istype(src.loc, /obj/item/weapon/robot_module))
@@ -494,34 +494,6 @@
return 0 //Unsupported slot
//END HUMAN
else if(ismonkey(M))
//START MONKEY
var/mob/living/carbon/monkey/MO = M
switch(slot)
if(slot_l_hand)
if(MO.l_hand)
return 0
return 1
if(slot_r_hand)
if(MO.r_hand)
return 0
return 1
if(slot_wear_mask)
if(MO.wear_mask)
return 0
if( !(slot_flags & SLOT_MASK) )
return 0
return 1
if(slot_back)
if(MO.back)
return 0
if( !(slot_flags & SLOT_BACK) )
return 0
return 1
return 0 //Unsupported slot
//END MONKEY
/obj/item/verb/verb_pickup()
set src in oview(1)
@@ -586,14 +558,6 @@
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
// you can't stab someone in the eyes wearing a mask!
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien) || istype(M, /mob/living/carbon/slime))//Aliens don't have eyes./N slimes also don't have eyes!
user << "\red You cannot locate any eyes on this creature!"
return
@@ -1134,9 +1134,6 @@ var/global/list/obj/item/device/pda/PDAs = list()
JFLOG("[user] used the fingerprint scanner on [C]")
if (!istype(C:dna, /datum/dna))
user << "\blue No fingerprints found on [C]"
else if(!istype(C, /mob/living/carbon/monkey))
if(!isnull(C:gloves))
user << "\blue No fingerprints found on [C]"
else
user << text("\blue [C]'s Fingerprints: [md5(C:dna.uni_identity)]")
if ( !(C:blood_DNA) )
@@ -68,7 +68,7 @@
user.visible_message("<span class='notice'>[user] directs [src] to [M]'s eyes.</span>", \
"<span class='notice'>You direct [src] to [M]'s eyes.</span>")
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) //robots and aliens are unaffected
if(istype(M, /mob/living/carbon/human)) //robots and aliens are unaffected
if(M.stat == DEAD || M.sdisabilities & BLIND) //mob is dead or fully blind
user << "<span class='notice'>[M] pupils does not react to the light!</span>"
else if(XRAY in M.mutations) //mob has X-RAY vision

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