Merge branch 'master' of https://github.com/tgstation/-tg-station into GenShit
Conflicts: code/modules/reagents/Chemistry-Reagents.dm conflicts resolution
@@ -224,7 +224,7 @@
|
||||
"ep" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
|
||||
"eq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
|
||||
"er" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaymission/academy/classrooms)
|
||||
"es" = (/obj/machinery/singularity/academy,/turf/space,/area/space)
|
||||
"es" = (/obj/singularity/academy,/turf/space,/area/space)
|
||||
"et" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/awaymission/academy/classrooms)
|
||||
"eu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
|
||||
"ev" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
"dt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
|
||||
"du" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
|
||||
"dv" = (/obj/machinery/door/airlock/hatch{name = "High-Security Airlock"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
|
||||
"dw" = (/obj/machinery/singularity/narsie/sc_Narsie{pixel_x = -48; pixel_y = -51},/turf/space,/area/awaymission/research)
|
||||
"dw" = (/obj/singularity/narsie/sc_Narsie{pixel_x = -48; pixel_y = -51},/turf/space,/area/awaymission/research)
|
||||
"dx" = (/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
"dy" = (/obj/machinery/message_server{stat = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
"dz" = (/obj/machinery/computer/message_monitor{stat = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
"acJ" = (/obj/machinery/deployable/barrier,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acK" = (/obj/machinery/deployable/barrier,/obj/machinery/alarm{pixel_y = 23},/obj/machinery/camera/motion{c_tag = "Armory Motion Sensor"; dir = 2; name = "motion-sensitive security camera"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acL" = (/obj/machinery/suit_storage_unit/security,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acM" = (/obj/structure/rack,/obj/item/weapon/storage/lockbox/loyalty,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acM" = (/obj/structure/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/ionrifle,/obj/item/clothing/suit/armor/laserproof,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acN" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/suit/armor/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acO" = (/obj/structure/rack,/obj/item/weapon/shield/riot{pixel_x = -3; pixel_y = 3},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"acP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/ammunitionlocker,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
@@ -196,7 +196,7 @@
|
||||
"adN" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/power/apc{dir = 4; name = "Prison Wing APC"; pixel_x = 24; pixel_y = 0; step_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/prison)
|
||||
"adO" = (/obj/structure/closet/secure_closet{name = "contraband locker"; req_access_txt = "3"},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"adP" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/ai_monitored/security/armory)
|
||||
"adQ" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof{pixel_x = -4; pixel_y = 3},/obj/item/clothing/suit/armor/laserproof,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory)
|
||||
"adQ" = (/obj/structure/rack,/obj/item/weapon/storage/lockbox/loyalty,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory)
|
||||
"adR" = (/obj/structure/rack,/obj/item/weapon/storage/box/chemimp{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/teargas,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory)
|
||||
"adS" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory)
|
||||
"adT" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/riot{pixel_x = 3; pixel_y = 3},/obj/item/weapon/gun/projectile/shotgun/riot,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/ai_monitored/security/armory)
|
||||
@@ -273,7 +273,7 @@
|
||||
"afm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/prison)
|
||||
"afn" = (/obj/machinery/status_display{density = 0; layer = 3; pixel_x = -32; pixel_y = 0},/obj/structure/window/reinforced,/obj/machinery/flasher/portable,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afo" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afp" = (/obj/structure/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afp" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afq" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afr" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory)
|
||||
"afs" = (/obj/machinery/door/window/southleft{name = "Armory"; req_access_txt = "3"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/ai_monitored/security/armory)
|
||||
@@ -2170,7 +2170,7 @@
|
||||
"aPL" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPN" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPO" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPO" = (/obj/machinery/vending/clothing,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPP" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPQ" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
"aPR" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/plasteel,/area/crew_quarters/locker)
|
||||
@@ -2261,9 +2261,9 @@
|
||||
"aRy" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "greencorner"},/area/bridge)
|
||||
"aRz" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aRA" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/bar)
|
||||
"aRB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRD" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRB" = (/obj/structure/flora/tree/pine/xmas,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main)
|
||||
"aRC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/flora/tree/pine/xmas,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRF" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aRG" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
@@ -3864,7 +3864,7 @@
|
||||
"bwp" = (/obj/machinery/computer/aifixer,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "cafeteria"},/area/crew_quarters/hor)
|
||||
"bwq" = (/obj/structure/rack,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/crew_quarters/hor)
|
||||
"bwr" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 1},/area/crew_quarters/hor)
|
||||
"bws" = (/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 5},/area/crew_quarters/hor)
|
||||
"bws" = (/obj/structure/flora/tree/festivus,/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 5},/area/crew_quarters/hor)
|
||||
"bwt" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/toxins/telesci)
|
||||
"bwu" = (/turf/simulated/wall,/area/toxins/telesci)
|
||||
"bwv" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/book/manual/wiki/telescience{pixel_y = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitecorner"},/area/toxins/telesci)
|
||||
@@ -6471,7 +6471,7 @@
|
||||
"cuw" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/engine/engineering)
|
||||
"cux" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless,/area/shuttle/laborcamp/station)
|
||||
"cuy" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/mining/station)
|
||||
|
||||
|
||||
(1,1,1) = {"
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -6547,11 +6547,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabqabrabqaaHabsaaiabtaasaasabuabvabwaasabxabyabzaasabAabBaaiaafaaaaaaaaaaaaaaaaaaaaaabmabCabDabEabFabnabGabHabIabJabKabnaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafabLaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabeabeabdabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabMabNabOabPabQaaiabRabSabRabRabRabTabRabRabRabUabRabRabVaaiaafaaaaafaafaafaafaaaaafablabWabDabXabCabnabYabZacaacaacbabnaaaaafaahaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdaaaaaaaaaaccaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdaceabgacfaaHacgaaiachaasaciabRacjackaclabRacmacnacoabRacpaaiacqacqacqacqacqacqacqacqacqacrabDacsabCaboactacuacvacaacwabnaaaaafacxacyacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaafaafaafaaaaaaaccaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLacMacNacOacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafacXaafacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLafpacNacOacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafacXaafacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabdabdaaaaaaaaaacYaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHacdacZaaHadaaaiadbadcaddabRadbadeaddabRadbadfaddabRabRaaiacJadgadhadhadhadhadiadjacqadkabDacsabCabnadladmadnadoadpabnabmabladqacyacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaafaafaaaaaaaaaacYaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzadAadBadCadDadEadFadGadDadHadIadJadDadKadLadMadNaaiadOadPadQadRadSadTadUadVadWabDadXadYablabnadZabnaeaabnaebabnaecaedablaeeaefaegaegaehaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaekaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaemaenaeoaepaeqaeoaeraepaeoaeoaeoaepaesaetaeuaevaaiaewaexaeyaezaeAaeBaeCaeDacqaeEaeFaeGablaeHaeIaeJaeKaeLaeMaeJaeNaeOaePaeQaeRaeSaeTaeUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcaaiaaiaaiaaiafdafeaffafgafhafiafjafkafkafkabRaflafmaaiafnafoafpafqafrafsaftafuacqafvafwafxablafyafzafAafBafCafDafEafFafGablafHafIaegaegafJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcaaiaaiaaiaaiafdafeaffafgafhafiafjafkafkafkabRaflafmaaiafnafoacMafqafrafsaftafuacqafvafwafxablafyafzafAafBafCafDafEafFafGablafHafIaegaegafJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiaddafLadbafMafMafMafMafMafMafMafNafOafPafQafRafSafTafUafVafWafXafPafYafZagaagbagcagdafAageafCagfaggaghabladqacxacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafaeYaaaaaaaaaaafaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiagiagjagkafMaglagmagnagoagpafMagqagragsagtaguagvagwafVagxafWagyagzagAagBagCagDagEagFagGagHagIagJagKagLagMagNagOagPacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaeYaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaaiagQagRagSafMagTagUagVagWagXafMagqagYagZahaahbahcahdaheaheahfahgahhahiahjahkahlahmahnahmahoahpahpahqahrablablaeQahsacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -6587,12 +6587,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaHHaHHaHIaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaHJaHKaHLaHMaHMaHNaHOaxmaHPaHQaHRaHSayGaHTazQazQaHUayGaHVaHWaCqaHXaHYaHZaIaaIbaIcaIdaASaaaaafaaaaIeaIfaIeaaaaafaaaaxAaxGaxHaDVaIgaIhaIiaIjaxHapSasUaxWaIkaIlaEcaEcaEcaImaInaxWaaaaaaaIoaIpaIqaIraIsaItaIuaIvaIoaaaaaaaIwaIxaIyaIzazlaIAaAyaAyaAyaCPaAyaAyaAyazlaBraIBaICaBraBraABaIDaIEaIEaIFaIGaIHaIEaIIaIEaIJaIKaIJaILaIJaIMaHqaHqaINaHqaHqaHqaHqaIOaIPaHqaHraEyaHtaIQaIRaISaITaIUaEyaIVaIWaIXaIYaIZaJaaJbaJcaJdaBOaJeaGoaGpaJfaGraaaaaaaaaaaaaaaaaaaaaaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBTaDpaDqaDraDraDraDraDraDraJhaDraDyaJiavYaBYaxmaJjaJkaJkaJkaJkaJkaJkaJkaJlaxmayGaJmaJnaJmayGayGaJoaJpaJqaARaARaARaARaJqaJraJsaASaJtaJuaJuaJvaJwaJvaJuaJuaJxaxAaJyaxHaJzaxHaJAaJAaJBaxHaJCaJDaxWaxWaxWaAsaEaaAsaxWaxWaxWaIoaIoaIoaJEaIsaIsaIsaIsaIsaJFaIoaIoaIoaIwaJGaIyaJHazlazlazlazlazlazlazlazlazlazlaJIaJJaJKaJLaJMaJNaJOaJPaIEaJQaIGaJRaJSaJRaIJaJTaJUaIJaJVaIJaJWaJXaJYaJZaKaaKaaKaaKbaKcaKdaHqaHraEyaKeaIQaKfaISaITaKgaEyaKhaKiaKjaKkaKlaKmaKnaKoaKpaKqaKraDlaHFaKsaGraaaaafaafaafaafaafaafaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBUaBTaBVaBVaBVaBVaBTaBUaKtaKuaquaKvaxmaKwaKxaKxaKyaKxaKzarxaKAaKBaxmaKCaKDaKEaKEaKFaKEaKGaKHaKEaKEaKEaKEaKEaKEaKEaKIaKJaKKaKLaKMaKMaKNaKOaKMaKMaKMaKPaKQaKRaKNaKMaKMaKMaKSaGSaKTaIsaKUaKVaItaIuaIuaIuaIraIsaIsaKWaIsaKXaKYaKZaLaaLbaLcaLdaLeaIsaIsaKWaLfaLgaLhaLiaLjaLkaLlaLmaIsaLnaIsaBraLoaLpaLqaJJaLraLsaLtaLuaLvaLwaIEaLxaLyaLzaLAaLBaIJaLCaJUaLDaLEaIJaHqaLFaLGaLHaLIaLJaLKaLLaLMaLNaHqaHraEyaLOaLPaLQaLRaLSaLTaEyaLUaLVaEBaLWaLWaLWaLWaEBaLXaDjaKraDlaBRaBRaBRaLYaLYaLYaLZaLZaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagapKapKapKapKavYayxavYaMaaMaaMaaMaavYayxavYaAHaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaECaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagapKapKapKapKavYayxavYaMaaMaaMaaMaavYayxavYaAHaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaRBaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafazFaquavYatMavYavYavYavYavYavYatMavYavYaquaBYaxmaKwaNfaNgaMeaMeaMfarxaNhaKBaxmaMiaKDaKEaNiaNjaNjaNjaNkaNlaNmaNjaNnaNjaNjaNjaNoaNjaNpaNjaNjaNjaNqaNraNsaNtaNtaNuaNvaNwaNxaNyaKEaNzaKDaGSaIsaNAaIsaNBaNBaNBaNBaNBaNBaNBaNBaNCaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNDaNBaNBaNBaNBaNBaNBaNBaNBaIsaIsaIsaBraNEaNEaNEaNEaNEaNFaNGaJNaLvaNHaIEaNIaNJaNKaIEaNLaIJaNMaNNaNOaLEaNPaIJaHqaNQaNRaNSaNTaNSaNUaNVaNWaHqaHraEyaNXaNXaNYaNZaOaaOaaObaEyaOcaOdaOeaBRaOfaOgaOhaECaECaOiaOjaBRaOkaBRaOlaOmaOnaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYayxavYaOpaOqaOraOsavYayxavYaOtaOuaOvaxmaKwaOwaOwaKyaOwaKzarxaOxaKBaxmaOyaOyaOyaOzaOyaOAaOAaOAaOAaOAaOBaOCaOAaODaOAaOAaOAaOEaOFaOGaOFaOHaOIaOJaKEaKEaOKaOLaOMaONaKHaKEaNzaOOaOOaIsaIsaItaIoaIoaIoaIoaIoaIoaIoaIoaOPaOQaORaOSaORaORaORaOTaORaOUaORaOVaOPaIoaIoaIoaIoaIoaIoaIoaIoaIraIsaIsaIEaOWaOXaOYaOYaOYaOYaOYaJNaOZaOYaIEaPaaPbaPcaIJaIJaIJaPdaPeaIJaIJaIJaIJaHqaNSaPfaPgaPgaPgaPhaPiaNSaHqaHraEyaPjaHtaNYaNZaHtaHtaPkaEyaPlaPmaPnaBRaECaPoaPpaPqaPqaPraPsaPtaPuaBRaPvaPwaOnaPxaOnaPyaPzaPzaPyaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavYaPAaxmavZaOvaxmaxmaPBavZaxmaPAaOvaxmaxmaxmaPCaPDaPDaPDaPDaPDaPDaPDaPEaxmaOyaPFaOyaPGaOAaPHaPIaPJaPKaPLaPIaPMaPNaPOaPPaPQaPRaOEaPSaPTaPUaOHaPVaOJaOJaPWaOJaOJaOOaPXaPYaPZaQaaOOaOOaQbaIsaItaIoaaaaaaaaaaaaaaaaaaaaaaOPaQcaQdaQeaQfaQgaQhaQiaQjaQkaQlaQmaOPaaaaaaaaaaaaaaaaaaaaaaIoaIraIsaQnaIEaQoaOYaQpaOYaOYaOYaQqaJNaOZaQraQsaJNaQtaQuaIJaQvaQwaQxaQyaQzaQAaQBaQCaIJaNSaQDaQEaQEaQEaQFaQGaNSaHqaQHaEyaQIaQIaNYaNZaQJaQJaQKaEyaEyaQLaEyaBRaQMaOgaOhaQNaQNaOiaOjaBRaBRaBRaLZaQOaQPaQQaLZaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavYaQSaQTaQTaQTaQTaQTaQTaQTaQTaQSaQTaQUaxmaxmaMiaxmaQVaQWaxmaQXaQYaxmaQZaRaaOyaRbaOyaPGaOAaRcaPIaRdaPIaPIaPIaPMaReaPIaPIaPIaPRaOEaRfaPTaPTaOHaPVaOJaRgaRhaRhaRiaOOaRjaRkaRlaRmaRnaRoaIsaIsaItaIoaaaaaaaaaaaaaOPaOPaOPaOPaRpaRqaRraRsaRtaRuaRvaRwaRxaRyaRzaOPaOPaOPaOPaaaaaaaaaaaaaIoaIraIsaIsaRAaOYaRBaRCaRDaREaRFaRGaRHaRIaRJaRKaRLaRMaRNaROaRPaRPaRQaRRaRSaRSaRTaRPaRUaRVaRWaRXaRYaRZaSaaQGaNSaHqaHraEyaHtaHtaNYaNZaHtaHtaHtaSbaScaHtaSdaBRaSeaSfaSgaQNaQNaShaSiaSjaBRaSkaSlaPwaOnaSmaOnaSnaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaisaisaquaquavYavYavYavYavYavYavYavYaquaquarxaMiaSpaSqaSqaSraSqaSqaSqaSsaSqaSqaSqaOyaRbaStaSuaOAaSvaPIaSwaSxaSyaSzaSAaSxaPIaPIaPIaSBaOEaSCaSDaSEaOHaPVaOJaSFaSGaSHaSIaOOaSJaSKaSLaSMaSNaRoaIsaIsaItaIoaIoaIwaSOaOPaOPaSPaSQaSRaSSaSTaSUaSVaSWaSUaSXaSUaSUaSYaSZaTaaTbaTcaOPaOPaSOaIwaIoaIoaIraIsaIsaIEaTdaJNaTeaOYaOYaOYaTfaOYaTgaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraTsaTtaTnaTuaTvaTwaTxaTyaTzaTxaTAaTBaHqaHraEyaTCaTCaNYaNZaTDaHtaHtaTEaHtaTFaTGaBRaTHaTIaTJaQNaQNaTKaTLaECaBRaTMaOnaPwaOnaSmaTNaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavYaPAaxmavZaOvaxmaxmaPBavZaxmaPAaOvaxmaxmaxmaPCaPDaPDaPDaPDaPDaPDaPDaPEaxmaOyaPFaOyaPGaOAaPHaPIaPJaPKaPLaPIaPMaPNaPOaPPaPQaPRaOEaPSaPTaPUaOHaPVaOJaOJaPWaOJaOJaOOaPXaPYaPZaQaaOOaOOaQbaIsaItaIoaaaaaaaaaaaaaaaaaaaaaaOPaQcaQdaQeaQfaQgaQhaQiaQjaQkaQlaQmaOPaaaaaaaaaaaaaaaaaaaaaaIoaIraIsaQnaIEaQoaOYaOYaOYaOYaOYaQqaJNaOZaQraQsaJNaQtaQuaIJaQvaQwaQxaQyaQzaQAaQBaQCaIJaNSaQDaQEaQEaQEaQFaQGaNSaHqaQHaEyaQIaQIaNYaNZaQJaQJaQKaEyaEyaQLaEyaBRaQMaOgaOhaQNaQNaOiaOjaBRaBRaBRaLZaQOaQPaQQaLZaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavYaQSaQTaQTaQTaQTaQTaQTaQTaQTaQSaQTaQUaxmaxmaMiaxmaQVaQWaxmaQXaQYaxmaQZaRaaOyaRbaOyaPGaOAaRcaPIaRdaPIaPIaPIaPMaReaPIaPIaPIaPRaOEaRfaPTaPTaOHaPVaOJaRgaRhaRhaRiaOOaRjaRkaRlaRmaRnaRoaIsaIsaItaIoaaaaaaaaaaaaaOPaOPaOPaOPaRpaRqaRraRsaRtaRuaRvaRwaRxaRyaRzaOPaOPaOPaOPaaaaaaaaaaaaaIoaIraIsaIsaRAaOYaRCaRDaREaREaRFaRGaRHaRIaRJaRKaRLaRMaRNaROaRPaRPaRQaRRaRSaRSaRTaRPaRUaRVaRWaRXaRYaRZaSaaQGaNSaHqaHraEyaHtaHtaNYaNZaHtaHtaHtaSbaScaHtaSdaBRaSeaSfaSgaQNaQNaShaSiaSjaBRaSkaSlaPwaOnaSmaOnaSnaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaisaisaquaquavYavYavYavYavYavYavYavYaquaquarxaMiaSpaSqaSqaSraSqaSqaSqaSsaSqaSqaSqaOyaRbaStaSuaOAaSvaPIaSwaSxaSyaSzaSAaSxaPIaPIaPIaSBaOEaSCaSDaSEaOHaPVaOJaSFaSGaSHaSIaOOaSJaSKaSLaSMaSNaRoaIsaIsaItaIoaIoaIwaSOaOPaOPaSPaSQaSRaSSaSTaSUaSVaSWaSUaSXaSUaSUaSYaSZaTaaTbaTcaOPaOPaSOaIwaIoaIoaIraIsaIsaIEaTdaJNaOYaOYaOYaOYaTfaOYaTgaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraTsaTtaTnaTuaTvaTwaTxaTyaTzaTxaTAaTBaHqaHraEyaTCaTCaNYaNZaTDaHtaHtaTEaHtaTFaTGaBRaTHaTIaTJaQNaQNaTKaTLaECaBRaTMaOnaPwaOnaSmaTNaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYayyaxnaTPaSqaTQaTRaTSaTTaTSaTUaTQaTSaSqaRbaRbaTVaTWaOAaTXaPIaTYaTZaUaaUbaUcaSxaPIaPIaPIaPRaOEaOEaOEaOEaOHaPVaOJaOJaOJaOJaOJaOOaUdaRlaRlaRlaRlaRoaIsaIsaItaIuaIuaUeaUfaUgaOPaUhaUiaUjaUkaUlaUkaUmaUnaUoaUpaUqaUraUsaUqaUtaUuaUvaOPaUwaUfaUxaUyaIuaIraIsaIsaRAaOYaJNaQpaOYaUzaOYaQpaOYaOZaQraUAaOYaOYaOYaUBaUCaUDaUEaUFaUGaUHaUIaUJaIJaUKaULaUMaQEaUNaQEaUOaUPaHqaUQaEyaEyaEyaNYaNZaURaUSaHtaUTaUUaKfaUVaBRaECaUWaSgaQNaQNaShaUXaUYaBRaUZaOnaPwaVaaVbaVcaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaVdavYavYaBYaVeaVfaVgaVhaViaVjaVkaVlaTQaTSaSqaVnaYDaVoaOyaOAaVpaVqaVraVsaVraVtaVuaVtaVtaVtaVvaVwaOAaVxaVyaVzaVAaVBaVCaVDaVEaOyaVFaOOaVGaVHaVIaVJaVJaRoaIsaIsaIsaIsaIsaVKaVLaVMaVNaVOaVPaVQaVRaVSaVTaVUaVVaVWaVXaVYaVZaWaaWbaVQaWcaWdaWeaWfaWgaWhaWiaWjaWkaIsaIsaIEaWlaWmaWnaWoaOYaWpaWqaWoaOZaQraWraWraWsaWtaIJaUCaUCaUCaWuaUCaUCaUIaWvaIJaNSaULaQEaQEaUNaQEaWwaNSaHqaWxaWyaWzaWAaWBaWCaWDaWDaWDaWDaWDaWDaWEaWFaWGaWGaWGaWGaWGaWHaWIaWJaWFaWKaWLaWMaWNaOnaWOaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaWPatMaWPaxmaxmaSqaWQaWRaWSaWSaWSaWTaWUaWVaSqaWWaRbaVoaWXaWXaWXaWYaWZaWXaXaaXbaXcaXdaXeaXeaXfaXgaOAaXhaXiaXjaXkaXlaXmaXmaXnaXoaXoaXpaXpaXpaXpaXpaXqaOOaIsaIsaXraXsaXtaXuaXvaXwaOPaXxaXyaXzaXAaXBaXCaXCaXDaXEaXFaXGaXHaXIaXJaXzaXKaXxaOPaXwaXvaXLaXMaXsaXNaIsaIsaRAaOYaXOaTeaOYaOYaOYaTeaOYaOZaOYaQraQraOYaOYaXPaXQaXRaUCaUCaUCaUCaXSaXTaIJaXUaXVaQEaXWaXXaXYaXVaXZaHqaYaaYbaYbaYcaYdaYeaYfaYgaYhaYfaYfaYfaYiaYjaYkaYlaYlaYlaYlaYlaYmaYnaYjaYoaYpaYqaYraOnaYsaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -64,4 +64,12 @@
|
||||
|
||||
//Organ stuff, It's here because "Genetics" is the most relevant file for organs
|
||||
#define ORGAN_ORGANIC 1
|
||||
#define ORGAN_ROBOTIC 2
|
||||
#define ORGAN_ROBOTIC 2
|
||||
|
||||
//Nutrition levels for humans. No idea where else to put it
|
||||
#define NUTRITION_LEVEL_FAT 600
|
||||
#define NUTRITION_LEVEL_FULL 550
|
||||
#define NUTRITION_LEVEL_WELL_FED 450
|
||||
#define NUTRITION_LEVEL_FED 350
|
||||
#define NUTRITION_LEVEL_HUNGRY 250
|
||||
#define NUTRITION_LEVEL_STARVING 150
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
return // seems legit.
|
||||
|
||||
// Things you might plausibly want to follow
|
||||
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/machinery/singularity))
|
||||
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/singularity))
|
||||
ManualFollow(A)
|
||||
|
||||
// Otherwise jump
|
||||
|
||||
@@ -67,6 +67,9 @@
|
||||
if(prob(15/D.permeability_mod))
|
||||
return
|
||||
|
||||
if(satiety>0 && prob(satiety/10)) // positive satiety makes it harder to contract the disease.
|
||||
return
|
||||
|
||||
var/target_zone = pick(head_ch;1,body_ch;2,hands_ch;3,feet_ch;4)
|
||||
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
|
||||
@@ -102,7 +102,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
||||
return
|
||||
|
||||
if(affected_mob)
|
||||
if(affected_mob.reagents.has_reagent("spaceacillin"))
|
||||
if( affected_mob.reagents.has_reagent("spaceacillin") || (affected_mob.satiety > 0 && prob(affected_mob.satiety/10)) )
|
||||
return
|
||||
|
||||
var/spread_range = 1
|
||||
|
||||
@@ -34,7 +34,7 @@ Bonus
|
||||
M << "<span class='notice'>[pick("You feel blubbery.", "You feel full.")]</span>"
|
||||
else
|
||||
M.overeatduration = min(M.overeatduration + 100, 600)
|
||||
M.nutrition = min(M.nutrition + 100, 500)
|
||||
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
|
||||
|
||||
return
|
||||
|
||||
@@ -116,6 +116,6 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(4, 5)
|
||||
M.overeatduration = 0
|
||||
M.nutrition = 400
|
||||
M.nutrition = NUTRITION_LEVEL_WELL_FED + 50
|
||||
|
||||
return
|
||||
@@ -0,0 +1,15 @@
|
||||
//Santa spells!
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/presents
|
||||
name = "Conjure Presents!"
|
||||
desc = "This spell lets you reach into S-space and retrieve presents! Yay!"
|
||||
school = "santa"
|
||||
charge_max = 600
|
||||
clothes_req = 0
|
||||
invocation = "HO HO HO"
|
||||
invocation_type = "shout"
|
||||
range = 3
|
||||
cooldown_min = 50
|
||||
|
||||
summon_type = list("/obj/item/weapon/a_gift")
|
||||
summon_lifespan = 0
|
||||
summon_amt = 5
|
||||
@@ -250,13 +250,13 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
cost = 15
|
||||
containername = "riot helmets crate"
|
||||
|
||||
/datum/supply_packs/security/armory/riotsuits
|
||||
name = "Riot Suits Crate"
|
||||
/datum/supply_packs/security/armory/riotarmor
|
||||
name = "Riot Armor Crate"
|
||||
contains = list(/obj/item/clothing/suit/armor/riot,
|
||||
/obj/item/clothing/suit/armor/riot,
|
||||
/obj/item/clothing/suit/armor/riot)
|
||||
cost = 15
|
||||
containername = "riot suits crate"
|
||||
containername = "riot armor crate"
|
||||
|
||||
/datum/supply_packs/security/armory/riotshields
|
||||
name = "Riot Shields Crate"
|
||||
@@ -266,13 +266,21 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
cost = 20
|
||||
containername = "riot shields crate"
|
||||
|
||||
/datum/supply_packs/security/armory/bullethelmet
|
||||
name = "Tactical Helmets Crate"
|
||||
contains = list(/obj/item/clothing/head/helmet/bulletproof,
|
||||
/obj/item/clothing/head/helmet/bulletproof,
|
||||
/obj/item/clothing/head/helmet/bulletproof)
|
||||
cost = 15
|
||||
containername = "tactical helmets crate"
|
||||
|
||||
/datum/supply_packs/security/armory/bulletarmor
|
||||
name = "Bulletproof Armor Crate"
|
||||
name = "Tactical Armor Crate"
|
||||
contains = list(/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/clothing/suit/armor/bulletproof)
|
||||
cost = 15
|
||||
containername = "bulletproof armor crate"
|
||||
containername = "tactical armor crate"
|
||||
|
||||
/datum/supply_packs/security/armory/laserarmor
|
||||
name = "Ablative Armor Crate"
|
||||
@@ -697,6 +705,15 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
cost = 10
|
||||
containername = "food crate"
|
||||
|
||||
/datum/supply_packs/organic/pizza
|
||||
name = "Pizza Crate"
|
||||
contains = list(/obj/item/pizzabox/margherita,
|
||||
/obj/item/pizzabox/mushroom,
|
||||
/obj/item/pizzabox/meat,
|
||||
/obj/item/pizzabox/vegetable)
|
||||
cost = 60
|
||||
containername = "Pizza crate"
|
||||
|
||||
/datum/supply_packs/organic/monkey
|
||||
name = "Monkey Crate"
|
||||
contains = list (/obj/item/weapon/storage/box/monkeycubes)
|
||||
|
||||
@@ -59,7 +59,8 @@
|
||||
if(!changeling.has_dna(target.dna))
|
||||
changeling.absorb_dna(target, user)
|
||||
|
||||
if(user.nutrition < 400) user.nutrition = min((user.nutrition + target.nutrition), 400)
|
||||
if(user.nutrition < NUTRITION_LEVEL_WELL_FED)
|
||||
user.nutrition = min((user.nutrition + target.nutrition), NUTRITION_LEVEL_WELL_FED)
|
||||
|
||||
if(target.mind)//if the victim has got a mind
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ var/list/sacrificed = list()
|
||||
M.reagents.add_reagent("hell_water", 10)
|
||||
M << "<span class='h2.userdanger'>YOUR SOUL BURNS WITH YOUR ARROGANCE!!!</span>"
|
||||
return
|
||||
var/narsie_type = /obj/machinery/singularity/narsie/large
|
||||
var/narsie_type = /obj/singularity/narsie/large
|
||||
// Moves narsie if she was already summoned.
|
||||
var/obj/her = locate(narsie_type, machines)
|
||||
if(her)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/effect/rend/New()
|
||||
spawn(50)
|
||||
new /obj/machinery/singularity/narsie/wizard(get_turf(src))
|
||||
new /obj/singularity/narsie/wizard(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -177,6 +177,7 @@ Security Officer
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_s_store)
|
||||
H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store)
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
/obj/machinery/suit_storage_unit/security
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/security
|
||||
HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/security
|
||||
MASK_TYPE = /obj/item/clothing/mask/gas/sechailer
|
||||
MASK_TYPE = /obj/item/clothing/mask/gas
|
||||
|
||||
/obj/machinery/suit_storage_unit/atmos
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/atmos
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
if(surplus() < 1500)
|
||||
if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>"
|
||||
return
|
||||
for(var/obj/machinery/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in world)
|
||||
if(singulo.z == z)
|
||||
singulo.target = src
|
||||
icon_state = "[icontype]1"
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
|
||||
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
|
||||
for(var/obj/machinery/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in world)
|
||||
if(singulo.target == src)
|
||||
singulo.target = null
|
||||
icon_state = "[icontype]0"
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
var/obj/item/weapon/coin/coin
|
||||
var/datum/wires/vending/wires = null
|
||||
|
||||
var/dish_quants = list() //used by the snack machine's custom compartment to count dishes.
|
||||
|
||||
var/obj/item/weapon/vending_refill/refill_canister = null //The type of refill canisters used by this machine.
|
||||
|
||||
/obj/machinery/vending/New()
|
||||
@@ -64,6 +66,11 @@
|
||||
coin = null
|
||||
..()
|
||||
|
||||
/obj/machinery/vending/snack/Destroy()
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in contents)
|
||||
S.loc = get_turf(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/vending/initialize()
|
||||
build_inventory(products)
|
||||
build_inventory(contraband, 1)
|
||||
@@ -93,7 +100,8 @@
|
||||
/obj/machinery/vending/proc/build_inventory(list/productlist, hidden=0, req_coin=0, start_empty = null)
|
||||
for(var/typepath in productlist)
|
||||
var/amount = productlist[typepath]
|
||||
if(isnull(amount)) amount = 0
|
||||
if(isnull(amount))
|
||||
amount = 0
|
||||
|
||||
var/atom/temp = new typepath(null)
|
||||
var/datum/data/vending_product/R = new /datum/data/vending_product()
|
||||
@@ -139,6 +147,70 @@
|
||||
total += restock
|
||||
return total
|
||||
|
||||
/obj/machinery/vending/snack/attackby(obj/item/weapon/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(!compartment_access_check(user))
|
||||
return
|
||||
if(nosugar_check(W))
|
||||
if(!iscompartmentfull(user))
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
food_load(W)
|
||||
user << "<span class='notice'>You insert [W] into [src]'s chef compartment.</span>"
|
||||
else
|
||||
user << "<span class='notice'>[src]'s chef compartment does not accept sugary food.</span>"
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/storage/bag/tray))
|
||||
if(!compartment_access_check(user))
|
||||
return
|
||||
var/obj/item/weapon/storage/T = W
|
||||
var/loaded = 0
|
||||
var/denied_items = 0
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
|
||||
if(iscompartmentfull(user))
|
||||
break
|
||||
if(nosugar_check(S))
|
||||
T.remove_from_storage(S, src)
|
||||
food_load(S)
|
||||
loaded++
|
||||
else
|
||||
denied_items++
|
||||
if(denied_items)
|
||||
user << "<span class='notice'>[src] refuses some items.</span>"
|
||||
if(loaded)
|
||||
user << "<span class='notice'>You insert [loaded] dishes into [src]'s chef compartment.</span>"
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/obj/machinery/vending/snack/proc/compartment_access_check(user)
|
||||
req_access_txt = chef_compartment_access
|
||||
if(!allowed(user) && !emagged && scan_id)
|
||||
user << "<span class='warning'>[src]'s chef compartment blinks red: Access denied.</span>"
|
||||
req_access_txt = "0"
|
||||
return 0
|
||||
req_access_txt = "0"
|
||||
return 1
|
||||
|
||||
/obj/machinery/vending/snack/proc/nosugar_check(obj/item/weapon/W)
|
||||
if(W.reagents.has_reagent("sugar"))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/machinery/vending/snack/proc/iscompartmentfull(mob/user)
|
||||
if(contents.len >= 30) // no more than 30 dishes can fit inside
|
||||
user << "<span class='warning'>[src]'s chef compartment is full.</span>"
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/vending/snack/proc/food_load(obj/item/weapon/reagent_containers/food/snacks/S)
|
||||
if(dish_quants[S.name])
|
||||
dish_quants[S.name]++
|
||||
else
|
||||
dish_quants[S.name] = 1
|
||||
sortList(dish_quants)
|
||||
|
||||
/obj/machinery/vending/attackby(obj/item/weapon/W, mob/user)
|
||||
if(panel_open)
|
||||
@@ -247,6 +319,15 @@
|
||||
dat += "[coin] <a href='byond://?src=\ref[src];remove_coin=1'>Remove</a>"
|
||||
else
|
||||
dat += "<i>No coin</i> <span class='linkOff'>Remove</span>"
|
||||
if(istype(src, /obj/machinery/vending/snack))
|
||||
dat += "<h3>Chef's Food Selection</h3>"
|
||||
dat += "<div class='statusDisplay'>"
|
||||
for (var/O in dish_quants)
|
||||
if(dish_quants[O] > 0)
|
||||
var/N = dish_quants[O]
|
||||
dat += "<a href='byond://?src=\ref[src];dispense=[sanitize(O)]'>Dispense</A> "
|
||||
dat += "<B>[capitalize(O)]: [N]</B><br>"
|
||||
dat += "</div>"
|
||||
user.set_machine(src)
|
||||
if(seconds_electrified && !(stat & NOPOWER))
|
||||
if(shock(user, 100))
|
||||
@@ -293,6 +374,24 @@
|
||||
|
||||
|
||||
usr.set_machine(src)
|
||||
|
||||
if((href_list["dispense"]) && (vend_ready))
|
||||
var/N = href_list["dispense"]
|
||||
if(dish_quants[N] <= 0) // Sanity check, there are probably ways to press the button when it shouldn't be possible.
|
||||
return
|
||||
vend_ready = 0
|
||||
use_power(5)
|
||||
|
||||
spawn(vend_delay)
|
||||
dish_quants[N] = max(dish_quants[N] - 1, 0)
|
||||
for(var/obj/O in contents)
|
||||
if(O.name == N)
|
||||
O.loc = src.loc
|
||||
break
|
||||
vend_ready = 1
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
if((href_list["vend"]) && (vend_ready))
|
||||
if(panel_open)
|
||||
usr << "<span class='notice'>The vending machine cannot dispense products while its service panel is open!</span>"
|
||||
@@ -563,12 +662,12 @@
|
||||
product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
|
||||
product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
|
||||
icon_state = "snack"
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 6,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 6,/obj/item/weapon/reagent_containers/food/snacks/chips =6,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 6,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 6,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 6,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 6)
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 5,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 5,/obj/item/weapon/reagent_containers/food/snacks/chips =5,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 5,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 5,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 5,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 5)
|
||||
contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6)
|
||||
refill_canister = /obj/item/weapon/vending_refill/snack
|
||||
|
||||
var/chef_compartment_access = "28"
|
||||
|
||||
/obj/machinery/vending/snack/New()
|
||||
..()
|
||||
@@ -855,3 +954,36 @@
|
||||
/obj/item/weapon/stock_parts/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3,
|
||||
/obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
|
||||
/obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5)
|
||||
|
||||
//This one's from NTstation
|
||||
//don't forget to change the refill size if you change the machine's contents!
|
||||
/obj/machinery/vending/clothing
|
||||
name = "ClothesMate" //renamed to make the slogan rhyme
|
||||
desc = "A vending machine for clothing."
|
||||
icon_state = "clothes"
|
||||
product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
|
||||
vend_delay = 15
|
||||
vend_reply = "Thank you for using the ClothesMate!"
|
||||
products = list(/obj/item/clothing/head/that=2,/obj/item/clothing/head/fedora=1,/obj/item/clothing/glasses/monocle=1,
|
||||
/obj/item/clothing/under/suit_jacket/navy=2,/obj/item/clothing/under/kilt=1,/obj/item/clothing/under/overalls=1,
|
||||
/obj/item/clothing/under/suit_jacket/really_black=2,/obj/item/clothing/under/pants/jeans=3,/obj/item/clothing/under/pants/classicjeans=2,
|
||||
/obj/item/clothing/under/pants/camo = 1,/obj/item/clothing/under/pants/blackjeans=2,/obj/item/clothing/under/pants/khaki=2,
|
||||
/obj/item/clothing/under/pants/white=2,/obj/item/clothing/under/pants/red=1,/obj/item/clothing/under/pants/black=2,
|
||||
/obj/item/clothing/under/pants/tan=2,/obj/item/clothing/under/pants/blue=1,/obj/item/clothing/under/pants/track=1,
|
||||
/obj/item/clothing/tie/waistcoat=1,/obj/item/clothing/under/sundress=2,/obj/item/clothing/under/blacktango=1,
|
||||
/obj/item/clothing/suit/jacket=3,/obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,
|
||||
/obj/item/clothing/suit/poncho=1,/obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,
|
||||
/obj/item/clothing/shoes/sneakers/black=4,/obj/item/clothing/shoes/sandal=1)
|
||||
contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1)
|
||||
premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1)
|
||||
refill_canister = /obj/item/weapon/vending_refill/clothing
|
||||
|
||||
/obj/machinery/vending/clothing/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
var/obj/item/weapon/circuitboard/vendor/V = new(null)
|
||||
V.set_type(type)
|
||||
component_parts += V
|
||||
component_parts += new /obj/item/weapon/vending_refill/clothing(0)
|
||||
component_parts += new /obj/item/weapon/vending_refill/clothing(0)
|
||||
component_parts += new /obj/item/weapon/vending_refill/clothing(0)
|
||||
|
||||
@@ -251,16 +251,16 @@
|
||||
var/turf/W = get_step(src, WEST)
|
||||
if(!locate(/obj/structure/alien) in N.contents)
|
||||
if(istype(N, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_s", layer=2, pixel_y = 32)
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_s", layer=2.11, pixel_y = 32)
|
||||
if(!locate(/obj/structure/alien) in S.contents)
|
||||
if(istype(S, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_n", layer=2, pixel_y = -32)
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_n", layer=2.11, pixel_y = -32)
|
||||
if(!locate(/obj/structure/alien) in E.contents)
|
||||
if(istype(E, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_w", layer=2, pixel_x = 32)
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_w", layer=2.11, pixel_x = 32)
|
||||
if(!locate(/obj/structure/alien) in W.contents)
|
||||
if(istype(W, /turf/simulated/floor))
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_e", layer=2, pixel_x = -32)
|
||||
src.overlays += image('icons/mob/alien.dmi', "weeds_side_e", layer=2.11, pixel_x = -32)
|
||||
|
||||
|
||||
/obj/structure/alien/weeds/proc/fullUpdateWeedOverlays()
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
if(current && current.can_use())
|
||||
var/list/seen = current.can_see()
|
||||
var/list/names = list()
|
||||
for(var/obj/machinery/singularity/S in seen) // god help you if you see more than one
|
||||
for(var/obj/singularity/S in seen) // god help you if you see more than one
|
||||
if(S.name in names)
|
||||
names[S.name]++
|
||||
dat += "[S.name] ([names[S.name]])"
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
desc = "A classic green-shaded desk lamp."
|
||||
icon_state = "lampgreen"
|
||||
item_state = "lampgreen"
|
||||
brightness_on = 5
|
||||
|
||||
|
||||
|
||||
/obj/item/device/flashlight/lamp/verb/toggle_light()
|
||||
@@ -147,6 +147,13 @@
|
||||
if(!usr.stat)
|
||||
attack_self(usr)
|
||||
|
||||
//Bananalamp
|
||||
obj/item/device/flashlight/lamp/bananalamp
|
||||
name = "banana lamp"
|
||||
desc = "Only a clown would think to make a ghetto banana-shaped lamp. Even has a goofy pullstring."
|
||||
icon_state = "bananalamp"
|
||||
item_state = "bananalamp"
|
||||
|
||||
// FLARES
|
||||
|
||||
/obj/item/device/flashlight/flare
|
||||
|
||||
@@ -22,7 +22,11 @@
|
||||
icon_state = "giftcrate[rand(1,5)]"
|
||||
|
||||
/obj/item/weapon/a_gift/attack_self(mob/M as mob)
|
||||
var/gift_type = pick(/obj/item/weapon/sord,
|
||||
if(M && M.mind && M.mind.special_role == "Santa")
|
||||
M << "<span class='warning'>You're supposed to be spreading gifts, not opening them yourself!</span>"
|
||||
return
|
||||
|
||||
var/gift_type_list = list(/obj/item/weapon/sord,
|
||||
/obj/item/weapon/storage/wallet,
|
||||
/obj/item/weapon/storage/photo_album,
|
||||
/obj/item/weapon/storage/box/snappops,
|
||||
@@ -36,35 +40,28 @@
|
||||
/obj/item/weapon/grenade/smokebomb,
|
||||
/obj/item/weapon/grown/corncob,
|
||||
/obj/item/weapon/contraband/poster,
|
||||
/obj/item/weapon/contraband/poster/legit,
|
||||
/obj/item/weapon/book/manual/barman_recipes,
|
||||
/obj/item/weapon/book/manual/chef_recipes,
|
||||
/obj/item/weapon/bikehorn,
|
||||
/obj/item/weapon/beach_ball,
|
||||
/obj/item/weapon/beach_ball/holoball,
|
||||
/obj/item/weapon/banhammer,
|
||||
/obj/item/toy/balloon,
|
||||
/obj/item/toy/crossbow,
|
||||
/obj/item/toy/gun,
|
||||
/obj/item/toy/katana,
|
||||
/obj/item/toy/prize/deathripley,
|
||||
/obj/item/toy/prize/durand,
|
||||
/obj/item/toy/prize/fireripley,
|
||||
/obj/item/toy/prize/gygax,
|
||||
/obj/item/toy/prize/honk,
|
||||
/obj/item/toy/prize/marauder,
|
||||
/obj/item/toy/prize/mauler,
|
||||
/obj/item/toy/prize/odysseus,
|
||||
/obj/item/toy/prize/phazon,
|
||||
/obj/item/toy/prize/ripley,
|
||||
/obj/item/toy/prize/seraph,
|
||||
/obj/item/toy/spinningtoy,
|
||||
/obj/item/toy/sword,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
|
||||
/obj/item/device/paicard,
|
||||
/obj/item/device/violin,
|
||||
/obj/item/weapon/storage/belt/utility/full,
|
||||
/obj/item/clothing/tie/horrible)
|
||||
/obj/item/clothing/tie/horrible,
|
||||
/obj/item/clothing/suit/jacket/leather,
|
||||
/obj/item/clothing/suit/poncho,
|
||||
/obj/item/clothing/suit/poncho/green,
|
||||
/obj/item/clothing/suit/poncho/red)
|
||||
|
||||
gift_type_list += typesof(/obj/item/clothing/head/collectable) - /obj/item/clothing/head/collectable
|
||||
gift_type_list += typesof(/obj/item/toy) - (((typesof(/obj/item/toy/cards) - /obj/item/toy/cards/deck) + /obj/item/toy/ammo) + /obj/item/toy) //All toys, except for abstract types and syndicate cards.
|
||||
|
||||
var/gift_type = pick(gift_type_list)
|
||||
|
||||
if(!ispath(gift_type,/obj/item)) return
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user << "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>"
|
||||
qdel(W)
|
||||
var/obj/machinery/singularity/singulo = new /obj/machinery/singularity (get_turf(src))
|
||||
var/obj/singularity/singulo = new /obj/singularity (get_turf(src))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
|
||||
@@ -586,4 +586,4 @@
|
||||
new /obj/item/clothing/tie/armband/deputy(src)
|
||||
new /obj/item/clothing/tie/armband/deputy(src)
|
||||
new /obj/item/clothing/tie/armband/deputy(src)
|
||||
new /obj/item/clothing/tie/armband/deputy(src)
|
||||
new /obj/item/clothing/tie/armband/deputy(src)
|
||||
@@ -57,3 +57,8 @@
|
||||
machine_name = "AutoDrobe"
|
||||
icon_state = "refill_costume"
|
||||
charges = 19// of 58
|
||||
|
||||
/obj/item/weapon/vending_refill/clothing
|
||||
machine_name = "ClothesMate"
|
||||
icon_state = "refill_clothes"
|
||||
charges = 16// of 48
|
||||
|
||||
@@ -298,8 +298,8 @@
|
||||
if(istype(user.loc, /obj/structure/closet/critter) && !welded)
|
||||
breakout_time = 0.75 //45 seconds if it's an unwelded critter crate
|
||||
|
||||
if(opened || (!welded && !locked))
|
||||
return //Door's open, not locked or welded, no point in resisting.
|
||||
if( opened || (!welded && !locked && !istype(src.loc, /obj/mecha)) )
|
||||
return //Door's open, not locked or welded or inside a mech, no point in resisting.
|
||||
|
||||
//okay, so the closet is either welded or locked... resist!!!
|
||||
user.changeNext_move(CLICK_CD_BREAKOUT)
|
||||
@@ -308,7 +308,7 @@
|
||||
for(var/mob/O in viewers(src))
|
||||
O << "<span class='warning'>[src] begins to shake violently!</span>"
|
||||
if(do_after(user,(breakout_time*60*10))) //minutes * 60seconds * 10deciseconds
|
||||
if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded))
|
||||
if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded && !istype(src.loc, /obj/mecha)) )
|
||||
return
|
||||
//we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting
|
||||
|
||||
@@ -317,6 +317,11 @@
|
||||
broken = 1 //applies to secure lockers only
|
||||
visible_message("<span class='danger'>[user] successfully broke out of [src]!</span>")
|
||||
user << "<span class='notice'>You successfully break out of [src]!</span>"
|
||||
if(istype( src.loc, /obj/structure/bigDelivery))
|
||||
var/obj/structure/bigDelivery/D = src.loc
|
||||
qdel(D)
|
||||
else if(istype( src.loc, /obj/mecha))
|
||||
src.loc = get_turf(src.loc)
|
||||
open()
|
||||
else
|
||||
user << "<span class='warning'>You fail to break out of [src]!</span>"
|
||||
|
||||
@@ -129,12 +129,12 @@
|
||||
/obj/structure/closet/secure_closet/chemical
|
||||
name = "chemical closet"
|
||||
desc = "Store dangerous chemicals in here."
|
||||
icon_state = "medical1"
|
||||
icon_closed = "medical"
|
||||
icon_locked = "medical1"
|
||||
icon_state = "chemical1"
|
||||
icon_closed = "chemical"
|
||||
icon_locked = "chemical1"
|
||||
icon_opened = "medicalopen"
|
||||
icon_broken = "medicalbroken"
|
||||
icon_off = "medicaloff"
|
||||
icon_broken = "chemicalbroken"
|
||||
icon_off = "chemicaloff"
|
||||
req_access = list(access_chemistry)
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel_cap(src)
|
||||
new /obj/item/clothing/suit/captunic(src)
|
||||
new /obj/item/clothing/under/captainformal(src)
|
||||
new /obj/item/clothing/under/captainparade(src)
|
||||
new /obj/item/clothing/head/caphat/parade(src)
|
||||
new /obj/item/clothing/under/rank/captain(src)
|
||||
new /obj/item/clothing/suit/armor/vest/capcarapace(src)
|
||||
@@ -70,19 +70,18 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/hos/New()
|
||||
..()
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/under/hosformalfem(src)
|
||||
new /obj/item/clothing/under/hosformalmale(src)
|
||||
new /obj/item/clothing/suit/armor/hos/trenchcoat(src)
|
||||
new /obj/item/clothing/head/HoS/beret(src)
|
||||
new /obj/item/weapon/cartridge/hos(src)
|
||||
new /obj/item/device/radio/headset/heads/hos(src)
|
||||
new /obj/item/clothing/under/hosparadefem(src)
|
||||
new /obj/item/clothing/under/hosparademale(src)
|
||||
new /obj/item/clothing/suit/armor/hos/trenchcoat(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security/formal(src)
|
||||
new /obj/item/clothing/head/HoS/beret(src)
|
||||
new /obj/item/clothing/glasses/hud/security/eyepatch(src)
|
||||
new /obj/item/weapon/storage/lockbox/loyalty(src)
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer/swat(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/device/flash/handheld(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer/swat(src)
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/weapon/melee/baton/loaded(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
@@ -103,12 +102,12 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/warden/New()
|
||||
..()
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/under/rank/warden(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
new /obj/item/clothing/suit/armor/vest/warden(src)
|
||||
new /obj/item/clothing/head/warden(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/under/rank/warden/formal(src)
|
||||
new /obj/item/clothing/head/warden/drill(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
@@ -137,9 +136,9 @@
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/device/radio/headset/headset_sec/alt(src)
|
||||
new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer(src)
|
||||
new /obj/item/device/flash/handheld(src)
|
||||
new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/weapon/grenade/flashbang(src)
|
||||
new /obj/item/weapon/gun/energy/taser(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
@@ -204,7 +203,7 @@
|
||||
new /obj/item/clothing/suit/det_suit(src)
|
||||
new /obj/item/clothing/head/det_hat(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/under/det/grey(src)
|
||||
new /obj/item/clothing/under/rank/det/grey(src)
|
||||
new /obj/item/clothing/suit/det_suit/grey(src)
|
||||
new /obj/item/clothing/head/fedora(src)
|
||||
new /obj/item/clothing/shoes/laceup(src)
|
||||
@@ -298,4 +297,3 @@
|
||||
icon_state = icon_closed
|
||||
else
|
||||
icon_state = icon_opened
|
||||
|
||||
|
||||
@@ -847,7 +847,7 @@ var/global/list/g_fancy_list_of_types = null
|
||||
|
||||
if("centcom commander")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_commander(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cent(M), slot_ears)
|
||||
@@ -989,7 +989,7 @@ var/global/list/g_fancy_list_of_types = null
|
||||
spawn(30)
|
||||
for(var/obj/machinery/the_singularitygen/G in world)
|
||||
if(G.anchored)
|
||||
var/obj/machinery/singularity/S = new /obj/machinery/singularity(get_turf(G), 50)
|
||||
var/obj/singularity/S = new /obj/singularity(get_turf(G), 50)
|
||||
// qdel(G)
|
||||
S.energy = 1750
|
||||
S.current_size = 7
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
set name = "Possess Obj"
|
||||
set category = "Object"
|
||||
|
||||
if(istype(O,/obj/machinery/singularity))
|
||||
if(istype(O,/obj/singularity))
|
||||
if(config.forbid_singulo_possession)
|
||||
usr << "It is forbidden to possess singularities."
|
||||
return
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
/obj/effect/landmark/corpse/commander
|
||||
name = "Commander"
|
||||
corpseuniform = /obj/item/clothing/under/rank/centcom_commander
|
||||
corpsesuit = /obj/item/clothing/suit/armor/bulletproof
|
||||
corpsesuit = /obj/item/clothing/suit/armor
|
||||
corpseradio = /obj/item/device/radio/headset/heads/captain
|
||||
corpseglasses = /obj/item/clothing/glasses/eyepatch
|
||||
corpsemask = /obj/item/clothing/mask/cigarette/cigar/cohiba
|
||||
|
||||
@@ -22,15 +22,15 @@
|
||||
|
||||
//Academy Items
|
||||
|
||||
/obj/machinery/singularity/academy
|
||||
/obj/singularity/academy
|
||||
dissipate = 0
|
||||
move_self = 0
|
||||
grav_pull = 1
|
||||
|
||||
/obj/machinery/singularity/academy/admin_investigate_setup()
|
||||
/obj/singularity/academy/admin_investigate_setup()
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/academy/process()
|
||||
/obj/singularity/academy/process()
|
||||
eat()
|
||||
if(prob(1))
|
||||
mezzer()
|
||||
|
||||
@@ -159,21 +159,21 @@ var/sc_safecode5 = "[rand(0,9)]"
|
||||
/*
|
||||
* Modified Nar-Sie
|
||||
*/
|
||||
/obj/machinery/singularity/narsie/sc_Narsie
|
||||
/obj/singularity/narsie/sc_Narsie
|
||||
desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible."
|
||||
move_self = 0 //Contianed narsie does not move!
|
||||
grav_pull = 0 //Contained narsie does not pull stuff in!
|
||||
|
||||
//Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/admin_investigate_setup()
|
||||
/obj/singularity/narsie/sc_Narsie/admin_investigate_setup()
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/process()
|
||||
/obj/singularity/narsie/sc_Narsie/process()
|
||||
eat()
|
||||
if(prob(25))
|
||||
mezzer()
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/consume(var/atom/A)
|
||||
/obj/singularity/narsie/sc_Narsie/consume(var/atom/A)
|
||||
if(is_type_in_list(A, uneatable))
|
||||
return 0
|
||||
if (istype(A,/mob/living))
|
||||
@@ -194,5 +194,5 @@ var/sc_safecode5 = "[rand(0,9)]"
|
||||
T.ChangeTurf(/turf/space)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/ex_act()
|
||||
/obj/singularity/narsie/sc_Narsie/ex_act()
|
||||
return
|
||||
@@ -11,7 +11,7 @@
|
||||
H.add_hud_to(user)
|
||||
|
||||
/obj/item/clothing/glasses/hud/dropped(mob/living/carbon/human/user)
|
||||
if(user.glasses == src)
|
||||
if(istype(user) && user.glasses == src)
|
||||
var/datum/atom_hud/H = huds[hud_type]
|
||||
H.remove_hud_from(user)
|
||||
|
||||
|
||||
@@ -54,6 +54,13 @@
|
||||
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
|
||||
strip_delay = 80
|
||||
|
||||
/obj/item/clothing/head/helmet/bulletproof
|
||||
name = "tactical helmet"
|
||||
desc = "An advanced helmet designed to protect against traditional projectile weaponry and explosives."
|
||||
icon_state = "bulletproof"
|
||||
armor = list(melee = 25, bullet = 60, laser = 25, energy = 10, bomb = 40, bio = 0, rad = 0)
|
||||
strip_delay = 70
|
||||
|
||||
/obj/item/clothing/head/helmet/swat/syndicate
|
||||
name = "blood-red helmet"
|
||||
desc = "An extremely robust, space-worthy helmet that lacks a visor to allow for goggle usage underneath. Property of Gorlex Marauders."
|
||||
|
||||
@@ -235,12 +235,12 @@
|
||||
temp_message[H] = ninjaspeak(temp_message[H])
|
||||
pick_list -= H
|
||||
message = list2text(temp_message, " ")
|
||||
message = replacetext(message, "o", "¤")
|
||||
message = replacetext(message, "p", "þ")
|
||||
message = replacetext(message, "l", "£")
|
||||
message = replacetext(message, "s", "§")
|
||||
message = replacetext(message, "u", "µ")
|
||||
message = replacetext(message, "b", "ß")
|
||||
message = replacetext(message, "o", "?")
|
||||
message = replacetext(message, "p", "?")
|
||||
message = replacetext(message, "l", "?")
|
||||
message = replacetext(message, "s", "?")
|
||||
message = replacetext(message, "u", "?")
|
||||
message = replacetext(message, "b", "?")
|
||||
return message
|
||||
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
heat_protection = CHEST|GROIN
|
||||
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
|
||||
strip_delay = 60
|
||||
put_on_delay = 60
|
||||
put_on_delay = 40
|
||||
|
||||
/obj/item/clothing/suit/armor/vest
|
||||
name = "armor"
|
||||
desc = "An armored vest that protects against some damage."
|
||||
desc = "An armored vest that protects against most types of damage."
|
||||
icon_state = "armor"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
@@ -27,7 +27,6 @@
|
||||
cold_protection = CHEST|GROIN|LEGS|ARMS
|
||||
heat_protection = CHEST|GROIN|LEGS|ARMS
|
||||
strip_delay = 80
|
||||
put_on_delay = 40
|
||||
|
||||
/obj/item/clothing/suit/armor/hos/trenchcoat
|
||||
name = "armored trenchoat"
|
||||
@@ -36,7 +35,6 @@
|
||||
item_state = "hostrench"
|
||||
flags_inv = 0
|
||||
strip_delay = 80
|
||||
put_on_delay = 40
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/warden
|
||||
name = "warden's jacket"
|
||||
@@ -46,6 +44,7 @@
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
cold_protection = CHEST|GROIN|ARMS|HANDS
|
||||
heat_protection = CHEST|GROIN|ARMS|HANDS
|
||||
strip_delay = 70
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/capcarapace
|
||||
name = "captain's carapace"
|
||||
@@ -61,36 +60,33 @@
|
||||
desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement."
|
||||
icon_state = "riot"
|
||||
item_state = "swat_suit"
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
slowdown = 1
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
strip_delay = 80
|
||||
put_on_delay = 80
|
||||
put_on_delay = 60
|
||||
|
||||
/obj/item/clothing/suit/armor/bulletproof
|
||||
name = "bulletproof vest"
|
||||
desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles."
|
||||
name = "tactical armor"
|
||||
desc = "A kevlar vest that excels in protecting the wearer against traditional projectile weaponry and explosives."
|
||||
icon_state = "bulletproof"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 40
|
||||
put_on_delay = 40
|
||||
|
||||
armor = list(melee = 25, bullet = 60, laser = 25, energy = 10, bomb = 40, bio = 0, rad = 0)
|
||||
strip_delay = 70
|
||||
put_on_delay = 50
|
||||
|
||||
/obj/item/clothing/suit/armor/laserproof
|
||||
name = "ablative armor vest"
|
||||
desc = "A vest that excels in protecting the wearer against energy projectiles."
|
||||
desc = "A vest that excels in protecting the wearer against energy projectiles, as well as occasionally reflecting them."
|
||||
icon_state = "armor_reflec"
|
||||
item_state = "armor_reflec"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
reflect_chance = 40
|
||||
strip_delay = 40
|
||||
put_on_delay = 40
|
||||
|
||||
/obj/item/clothing/suit/armor/laserproof/IsReflect(var/def_zone)
|
||||
var/hit_reflect_chance = reflect_chance
|
||||
@@ -99,7 +95,6 @@
|
||||
if (prob(hit_reflect_chance))
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/vest/det_suit
|
||||
name = "armor"
|
||||
desc = "An armored vest with a detective's badge on it."
|
||||
|
||||
@@ -38,6 +38,11 @@
|
||||
icon_state = "magus"
|
||||
item_state = "magus"
|
||||
|
||||
/obj/item/clothing/head/wizard/santa
|
||||
name = "Santa's hat"
|
||||
desc = "Ho ho ho. Merrry X-mas!"
|
||||
icon_state = "santahat"
|
||||
flags = BLOCKHAIR
|
||||
|
||||
/obj/item/clothing/suit/wizrobe
|
||||
name = "wizard robe"
|
||||
@@ -86,6 +91,12 @@
|
||||
item_state = "magusred"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/santa
|
||||
name = "Santa's suit"
|
||||
desc = "Festive!"
|
||||
icon_state = "santa"
|
||||
item_state = "santa"
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/fake
|
||||
name = "wizard robe"
|
||||
desc = "A rather dull blue robe meant to mimick real wizard robes."
|
||||
@@ -113,4 +124,4 @@
|
||||
gas_transfer_coefficient = 1
|
||||
permeability_coefficient = 1
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
unacidable = 0
|
||||
unacidable = 0
|
||||
|
||||
@@ -8,23 +8,30 @@
|
||||
/*
|
||||
* Security
|
||||
*/
|
||||
|
||||
/obj/item/clothing/under/rank/security
|
||||
name = "security jumpsuit"
|
||||
desc = "A security jumpsuit for officers complete with nanotrasen waistbuckle."
|
||||
icon_state = "security"
|
||||
item_state = "r_suit"
|
||||
item_color = "security"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 50
|
||||
|
||||
/obj/item/clothing/under/rank/warden
|
||||
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders."
|
||||
name = "warden's jumpsuit"
|
||||
icon_state = "warden"
|
||||
desc = "A security jumpsuit suit with decorative silver pips and 'warden' written on the shoulders."
|
||||
icon_state = "wardenformal"
|
||||
item_state = "r_suit"
|
||||
item_color = "warden"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 50
|
||||
|
||||
/obj/item/clothing/under/rank/security
|
||||
name = "security officer's jumpsuit"
|
||||
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
|
||||
icon_state = "security"
|
||||
item_state = "r_suit"
|
||||
item_color = "secred"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 50
|
||||
/obj/item/clothing/under/rank/warden/formal
|
||||
name = "warden's formal suit"
|
||||
desc = "A security formal suit with silver shoulder pips, a striped red tie, and tan slacks - the universal sign of bureaucracy.="
|
||||
icon_state = "wardenformal"
|
||||
item_color = "wardenformal"
|
||||
|
||||
/*
|
||||
* Detective
|
||||
@@ -38,26 +45,30 @@
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 50
|
||||
|
||||
/obj/item/clothing/under/det/grey
|
||||
/obj/item/clothing/under/rank/det/grey
|
||||
name = "noir suit"
|
||||
desc = "A hard-boiled private investigator's grey suit, complete with tie clip."
|
||||
icon_state = "greydet"
|
||||
item_state = "greydet"
|
||||
item_color = "greydet"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/*
|
||||
* Head of Security
|
||||
*/
|
||||
/obj/item/clothing/under/rank/head_of_security
|
||||
desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer."
|
||||
name = "head of security's jumpsuit"
|
||||
name = "head of security's suit"
|
||||
desc = "The jumpsuit worn by those few with the dedication to achieve the position of Head of Security."
|
||||
icon_state = "hos"
|
||||
item_state = "r_suit"
|
||||
item_color = "hosred"
|
||||
item_color = "hos"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
strip_delay = 60
|
||||
|
||||
/obj/item/clothing/under/rank/head_of_security/formal
|
||||
name = "head of security's formal suit"
|
||||
desc = "The formal suit for a Head of Security with a superior sense of style."
|
||||
icon_state = "hosformal"
|
||||
item_color = "hosformal"
|
||||
|
||||
/*
|
||||
* Navy uniforms
|
||||
@@ -82,4 +93,4 @@
|
||||
name = "warden's uniform"
|
||||
icon_state = "wardenblueclothes"
|
||||
item_state = "wardenblueclothes"
|
||||
item_color = "wardenblueclothes"
|
||||
item_color = "wardenblueclothes"
|
||||
@@ -334,28 +334,28 @@
|
||||
fitted = 0
|
||||
can_adjust = 0
|
||||
|
||||
/obj/item/clothing/under/captainformal
|
||||
name = "captain's formal uniform"
|
||||
desc = "A captain's formal-wear, for special occasions."
|
||||
icon_state = "captain_formal"
|
||||
/obj/item/clothing/under/captainparade
|
||||
name = "captain's parade uniform"
|
||||
desc = "A captain's luxury-wear, for special occasions."
|
||||
icon_state = "captain_parade"
|
||||
item_state = "by_suit"
|
||||
item_color = "captain_formal"
|
||||
item_color = "captain_parade"
|
||||
can_adjust = 0
|
||||
|
||||
/obj/item/clothing/under/hosformalmale
|
||||
name = "head of security's formal uniform"
|
||||
desc = "A male head of security's formal-wear, for special occasions."
|
||||
icon_state = "hos_formal_male"
|
||||
/obj/item/clothing/under/hosparademale
|
||||
name = "head of security's parade uniform"
|
||||
desc = "A male head of security's luxury-wear, for special occasions."
|
||||
icon_state = "hos_parade_male"
|
||||
item_state = "r_suit"
|
||||
item_color = "hos_formal_male"
|
||||
item_color = "hos_parade_male"
|
||||
can_adjust = 0
|
||||
|
||||
/obj/item/clothing/under/hosformalfem
|
||||
name = "head of security's formal uniform"
|
||||
desc = "A female head of security's formal-wear, for special occasions."
|
||||
icon_state = "hos_formal_fem"
|
||||
/obj/item/clothing/under/hosparadefem
|
||||
name = "head of security's parade uniform"
|
||||
desc = "A female head of security's luxury-wear, for special occasions."
|
||||
icon_state = "hos_parade_fem"
|
||||
item_state = "r_suit"
|
||||
item_color = "hos_formal_fem"
|
||||
item_color = "hos_parade_fem"
|
||||
fitted = 0
|
||||
can_adjust = 0
|
||||
|
||||
@@ -374,4 +374,4 @@
|
||||
item_state = "wcoat"
|
||||
item_color = "black_tango"
|
||||
fitted = 0
|
||||
can_adjust = 0
|
||||
can_adjust = 0
|
||||
@@ -0,0 +1,83 @@
|
||||
/obj/item/clothing/under/pants
|
||||
gender = PLURAL
|
||||
body_parts_covered = GROIN|LEGS
|
||||
fitted = 0
|
||||
can_adjust = 0
|
||||
|
||||
/obj/item/clothing/under/pants/classicjeans
|
||||
name = "classic jeans"
|
||||
desc = "You feel cooler already."
|
||||
icon_state = "jeansclassic"
|
||||
item_color = "jeansclassic"
|
||||
|
||||
/obj/item/clothing/under/pants/mustangjeans
|
||||
name = "Must Hang jeans"
|
||||
desc = "Made in the finest space jeans factory this side of Alpha Centauri."
|
||||
icon_state = "jeansmustang"
|
||||
item_color = "jeansmustang"
|
||||
|
||||
/obj/item/clothing/under/pants/blackjeans
|
||||
name = "black jeans"
|
||||
desc = "Only for those who can pull it off."
|
||||
icon_state = "jeansblack"
|
||||
item_color = "jeansblack"
|
||||
|
||||
/obj/item/clothing/under/pants/youngfolksjeans
|
||||
name = "Young Folks jeans"
|
||||
desc = "For those tired of boring old jeans. Relive the passion of your youth!"
|
||||
icon_state = "jeansyoungfolks"
|
||||
item_color = "jeansyoungfolks"
|
||||
|
||||
/obj/item/clothing/under/pants/white
|
||||
name = "white pants"
|
||||
desc = "Plain white pants. Boring."
|
||||
icon_state = "whitepants"
|
||||
item_color = "whitepants"
|
||||
|
||||
/obj/item/clothing/under/pants/red
|
||||
name = "red pants"
|
||||
desc = "Bright red pants. Overflowing with personality."
|
||||
icon_state = "redpants"
|
||||
item_color = "redpants"
|
||||
|
||||
/obj/item/clothing/under/pants/black
|
||||
name = "black pants"
|
||||
desc = "These pants are dark, like your soul."
|
||||
icon_state = "blackpants"
|
||||
item_color = "blackpants"
|
||||
|
||||
/obj/item/clothing/under/pants/tan
|
||||
name = "tan pants"
|
||||
desc = "Some tan pants. You look like a white collar worker with these on."
|
||||
icon_state = "tanpants"
|
||||
item_color = "tanpants"
|
||||
|
||||
/obj/item/clothing/under/pants/blue
|
||||
name = "blue pants"
|
||||
desc = "Stylish blue pants. These go well with a lot of clothes."
|
||||
icon_state = "bluepants"
|
||||
item_color = "bluepants"
|
||||
|
||||
/obj/item/clothing/under/pants/track
|
||||
name = "track pants"
|
||||
desc = "A pair of track pants, for the athletic."
|
||||
icon_state = "trackpants"
|
||||
item_color = "trackpants"
|
||||
|
||||
/obj/item/clothing/under/pants/jeans
|
||||
name = "jeans"
|
||||
desc = "A nondescript pair of tough blue jeans."
|
||||
icon_state = "jeans"
|
||||
item_color = "jeans"
|
||||
|
||||
/obj/item/clothing/under/pants/khaki
|
||||
name = "khaki pants"
|
||||
desc = "A pair of dust beige khaki pants."
|
||||
icon_state = "khaki"
|
||||
item_color = "khaki"
|
||||
|
||||
/obj/item/clothing/under/pants/camo
|
||||
name = "camo pants"
|
||||
desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station."
|
||||
icon_state = "camopants"
|
||||
item_color = "camopants"
|
||||
@@ -154,8 +154,8 @@
|
||||
/obj/item/clothing/tie/armband
|
||||
name = "red armband"
|
||||
desc = "An fancy red armband!"
|
||||
icon_state = "red"
|
||||
item_color = "red"
|
||||
icon_state = "redband"
|
||||
item_color = "redband"
|
||||
|
||||
/obj/item/clothing/tie/armband/deputy
|
||||
name = "security deputy armband"
|
||||
@@ -164,35 +164,35 @@
|
||||
/obj/item/clothing/tie/armband/cargo
|
||||
name = "cargo bay guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown."
|
||||
icon_state = "cargo"
|
||||
item_color = "cargo"
|
||||
icon_state = "cargoband"
|
||||
item_color = "cargoband"
|
||||
|
||||
/obj/item/clothing/tie/armband/engine
|
||||
name = "engineering guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!"
|
||||
icon_state = "engie"
|
||||
item_color = "engie"
|
||||
icon_state = "engieband"
|
||||
item_color = "engieband"
|
||||
|
||||
/obj/item/clothing/tie/armband/science
|
||||
name = "science guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple."
|
||||
icon_state = "rnd"
|
||||
item_color = "rnd"
|
||||
icon_state = "rndband"
|
||||
item_color = "rndband"
|
||||
|
||||
/obj/item/clothing/tie/armband/hydro
|
||||
name = "hydroponics guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue."
|
||||
icon_state = "hydro"
|
||||
item_color = "hydro"
|
||||
icon_state = "hydroband"
|
||||
item_color = "hydroband"
|
||||
|
||||
/obj/item/clothing/tie/armband/med
|
||||
name = "medical guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white."
|
||||
icon_state = "med"
|
||||
item_color = "med"
|
||||
icon_state = "medband"
|
||||
item_color = "medband"
|
||||
|
||||
/obj/item/clothing/tie/armband/medblue
|
||||
name = "medical guard armband"
|
||||
desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue."
|
||||
icon_state = "medblue"
|
||||
item_color = "medblue"
|
||||
icon_state = "medblueband"
|
||||
item_color = "medblueband"
|
||||
@@ -117,6 +117,16 @@
|
||||
tools = list(/obj/item/weapon/screwdriver)
|
||||
time = 5
|
||||
|
||||
/datum/table_recipe/frag12
|
||||
name = "FRAG-12 Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/frag12
|
||||
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
|
||||
/datum/reagent/glycerol = 5,
|
||||
/datum/reagent/toxin/acid = 5,
|
||||
/datum/reagent/toxin/acid/polyacid = 5,)
|
||||
tools = list(/obj/item/weapon/screwdriver)
|
||||
time = 5
|
||||
|
||||
/datum/table_recipe/ishotgun
|
||||
name = "Improvised Shotgun"
|
||||
result = /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised
|
||||
|
||||
@@ -77,4 +77,75 @@
|
||||
icon_state = "xmashat"
|
||||
desc = "A crappy paper hat that you are REQUIRED to wear."
|
||||
flags_inv = 0
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/datum/round_event_control/santa
|
||||
name = "Santa is coming to town! (Christmas)"
|
||||
holidayID = "Xmas"
|
||||
typepath = /datum/round_event/santa
|
||||
weight = 150
|
||||
max_occurrences = 1
|
||||
earliest_start = 20000
|
||||
|
||||
/datum/round_event/santa
|
||||
var/mob/living/carbon/human/santa //who is our santa?
|
||||
|
||||
/datum/round_event/santa/announce()
|
||||
priority_announce("Santa is coming to town!", "Unknown Transmission")
|
||||
|
||||
/datum/round_event/santa/start()
|
||||
for(var/mob/M in dead_mob_list)
|
||||
spawn(0)
|
||||
var/response = alert(M, "Santa is coming to town! Do you want to be santa?", "Ho ho ho!", "Yes", "No")
|
||||
if(response == "Yes" && M && M.client && M.stat == DEAD && !santa)
|
||||
santa = new /mob/living/carbon/human(pick(blobstart))
|
||||
M.mind.transfer_to(santa)
|
||||
santa.key = M.key
|
||||
|
||||
santa.real_name = "Santa Claus"
|
||||
santa.name = "Santa Claus"
|
||||
santa.mind.name = "Santa Claus"
|
||||
santa.mind.assigned_role = "Santa"
|
||||
santa.mind.special_role = "Santa"
|
||||
|
||||
santa.hair_style = "Long Hair"
|
||||
santa.facial_hair_style = "Full Beard"
|
||||
santa.hair_color = "FFF"
|
||||
santa.facial_hair_color = "FFF"
|
||||
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/under/color/red, slot_w_uniform)
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/suit/space/santa, slot_wear_suit)
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/head/santa, slot_head)
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/mask/breath, slot_wear_mask)
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/gloves/red, slot_gloves)
|
||||
santa.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/red, slot_shoes)
|
||||
santa.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double, slot_belt)
|
||||
santa.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain, slot_ears)
|
||||
santa.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/santabag, slot_back)
|
||||
santa.equip_to_slot_or_del(new /obj/item/device/flashlight, slot_r_store) //most blob spawn locations are really dark.
|
||||
|
||||
var/obj/item/weapon/card/id/gold/santacard = new(santa)
|
||||
santacard.update_label("Santa Claus", "Santa")
|
||||
var/datum/job/captain/J = new/datum/job/captain
|
||||
santacard.access = J.get_access()
|
||||
santa.equip_to_slot_or_del(santacard, slot_wear_id)
|
||||
|
||||
santa.update_icons()
|
||||
|
||||
var/obj/item/weapon/storage/backpack/bag = santa.back
|
||||
var/obj/item/weapon/a_gift/gift = new(santa)
|
||||
while(bag.can_be_inserted(gift, 1))
|
||||
bag.handle_item_insertion(gift, 1)
|
||||
gift = new(santa)
|
||||
|
||||
var/datum/objective/santa_objective = new()
|
||||
santa_objective.explanation_text = "Bring joy and presents to the station!"
|
||||
santa_objective.completed = 1 //lets cut our santas some slack.
|
||||
santa_objective.owner = santa.mind
|
||||
santa.mind.objectives += santa_objective
|
||||
santa.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/presents
|
||||
var/obj/effect/proc_holder/spell/targeted/area_teleport/teleport/telespell = new(santa)
|
||||
telespell.clothes_req = 0 //santa robes aren't actually magical.
|
||||
santa.mind.spell_list += telespell //does the station have chimneys? WHO KNOWS!
|
||||
|
||||
M << "<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>"
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
return 0
|
||||
|
||||
if(M == user)
|
||||
if(src.reagents.has_reagent("sugar") && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
M << "<span class='notice'>You don't feel like drinking any more sugary drink at the moment.</span>"
|
||||
return 0
|
||||
|
||||
M << "<span class='notice'>You swallow a gulp of [src].</span>"
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
@@ -191,6 +195,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate/New()
|
||||
..()
|
||||
reagents.add_reagent("hot_coco", 30)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
|
||||
@@ -42,6 +42,9 @@
|
||||
return 0
|
||||
|
||||
if(M == user)
|
||||
if(src.reagents.has_reagent("sugar") && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
M << "<span class='notice'>You don't feel like drinking any more sugary food at the moment.</span>"
|
||||
return 0
|
||||
M << "<span class='notice'>You swallow some of contents of the [src].</span>"
|
||||
if(reagents.total_volume)
|
||||
reagents.reaction(M, INGEST)
|
||||
|
||||
@@ -49,8 +49,15 @@
|
||||
if(!canconsume(M, user))
|
||||
return 0
|
||||
|
||||
var/fullness = M.nutrition + 10
|
||||
for(var/datum/reagent/consumable/C in M.reagents.reagent_list) //we add the nutrition value of what we're currently digesting
|
||||
fullness += C.nutriment_factor * C.volume / C.metabolization_rate
|
||||
|
||||
if(M == user) //If you're eating it yourself.
|
||||
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
|
||||
if(src.reagents.has_reagent("sugar") && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
M << "<span class='notice'>You don't feel like eating any more sugary food at the moment.</span>"
|
||||
return 0
|
||||
|
||||
if(wrapped)
|
||||
M << "<span class='notice'>You can't eat wrapped food!</span>"
|
||||
return 0
|
||||
@@ -58,19 +65,18 @@
|
||||
M << "<span class='notice'>You hungrily [eatverb] some of \the [src] and gobble it down!</span>"
|
||||
else if(fullness > 50 && fullness < 150)
|
||||
M << "<span class='notice'>You hungrily begin to [eatverb] \the [src].</span>"
|
||||
else if(fullness > 150 && fullness < 350)
|
||||
else if(fullness > 150 && fullness < 500)
|
||||
M << "<span class='notice'>You [eatverb] \the [src].</span>"
|
||||
else if(fullness > 350 && fullness < 550)
|
||||
else if(fullness > 500 && fullness < 600)
|
||||
M << "<span class='notice'>You unwillingly [eatverb] a bit of \the [src].</span>"
|
||||
else if(fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
|
||||
else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
|
||||
M << "<span class='notice'>You cannot force any more of \the [src] to go down your throat.</span>"
|
||||
return 0
|
||||
else
|
||||
if(! (isslime(M) || isbrain(M)) ) //If you're feeding it to someone else.
|
||||
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
|
||||
if(wrapped)
|
||||
return 0
|
||||
if(fullness <= (550 * (1 + M.overeatduration / 1000)))
|
||||
if(fullness <= (600 * (1 + M.overeatduration / 1000)))
|
||||
M.visible_message("<span class='danger'>[user] attempts to feed [M] [src].</span>", \
|
||||
"<span class='userdanger'>[user] attempts to feed [M] [src].</span>")
|
||||
else
|
||||
@@ -78,7 +84,8 @@
|
||||
"<span class='userdanger'>[user] cannot force anymore of [src] down [M]'s throat!</span>")
|
||||
return 0
|
||||
|
||||
if(!do_mob(user, M)) return
|
||||
if(!do_mob(user, M))
|
||||
return
|
||||
add_logs(user, M, "fed", object="[reagentlist(src)]")
|
||||
M.visible_message("<span class='danger'>[user] forces [M] to eat [src].</span>", \
|
||||
"<span class='userdanger'>[user] feeds [M] to eat [src].</span>")
|
||||
@@ -253,6 +260,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice
|
||||
@@ -28,6 +29,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice
|
||||
@@ -48,6 +50,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("toxin", 15)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice
|
||||
@@ -91,6 +94,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice
|
||||
@@ -130,6 +134,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice
|
||||
@@ -149,4 +154,5 @@
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("blackpepper", 1)
|
||||
reagents.add_reagent("sodiumchloride", 1)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 3
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/human
|
||||
@@ -27,6 +28,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/fish/New()
|
||||
..()
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/tofu
|
||||
@@ -42,6 +44,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/roburger/New()
|
||||
..()
|
||||
reagents.add_reagent("nanites", 2)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig
|
||||
name = "roburger"
|
||||
@@ -52,6 +55,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig/New()
|
||||
..()
|
||||
reagents.add_reagent("nanites", 100)
|
||||
reagents.add_reagent("vitamin", 20)
|
||||
bitesize = 0.1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/xeno
|
||||
@@ -81,6 +85,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/brain/New()
|
||||
..()
|
||||
reagents.add_reagent("alkysine", 6)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/ghost
|
||||
name = "ghost burger"
|
||||
@@ -176,10 +181,12 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime/New()
|
||||
..()
|
||||
reagents.add_reagent("slimejelly", 5)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry/New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly", 5)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/burger/superbite
|
||||
name = "super bite burger"
|
||||
|
||||
@@ -8,8 +8,9 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("imidazoline", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice
|
||||
@@ -28,8 +29,9 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("alkysine", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice
|
||||
@@ -48,7 +50,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice
|
||||
@@ -68,6 +71,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice
|
||||
name = "vanilla cake slice"
|
||||
@@ -86,6 +90,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice
|
||||
name = "orange cake slice"
|
||||
@@ -104,6 +109,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice
|
||||
name = "lime cake slice"
|
||||
@@ -122,6 +128,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice
|
||||
name = "lemon cake slice"
|
||||
@@ -140,6 +147,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice
|
||||
name = "chocolate cake slice"
|
||||
@@ -159,6 +167,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("sprinkles", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice
|
||||
@@ -177,7 +186,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 15)
|
||||
reagents.add_reagent("nutriment", 20)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice
|
||||
name = "apple cake slice"
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
|
||||
..()
|
||||
@@ -120,6 +121,8 @@
|
||||
reagents.remove_reagent("nutriment", 1)
|
||||
if(reagents.total_volume <= 0)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/benedict
|
||||
name = "eggs benedict"
|
||||
@@ -129,4 +132,5 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/benedict/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 3
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubancarp/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
reagents.add_reagent("capsaicin", 3)
|
||||
bitesize = 3
|
||||
|
||||
@@ -25,7 +24,8 @@
|
||||
..()
|
||||
eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp")
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
reagents.add_reagent("carpotoxin", 2)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation
|
||||
@@ -40,7 +40,6 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishfingers/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
|
||||
@@ -51,7 +50,6 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishandchips/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
////////////////////////////////////////////MEATS AND ALIKE////////////////////////////////////////////
|
||||
@@ -86,6 +84,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 12)
|
||||
reagents.add_reagent("hyperzine", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
|
||||
@@ -96,6 +95,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spidermeat
|
||||
@@ -107,6 +107,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("toxin", 3)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spiderleg
|
||||
@@ -139,6 +140,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/faggot/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sausage
|
||||
@@ -150,6 +152,7 @@
|
||||
..()
|
||||
eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp")
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
|
||||
@@ -162,6 +165,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/wingfangchu/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/human/kebab
|
||||
@@ -205,9 +209,10 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatsteak/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("sodiumchloride", 1)
|
||||
reagents.add_reagent("blackpepper", 1)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeycube
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
reagents.add_reagent("coco", 2)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/attack_self(mob/user)
|
||||
if(wrapped)
|
||||
@@ -51,6 +52,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
src.bitesize = 3
|
||||
|
||||
|
||||
@@ -165,6 +167,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("imidazoline", 3)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candiedapple
|
||||
@@ -175,6 +178,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candiedapple/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 3
|
||||
|
||||
/*
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
src.bitesize = 3
|
||||
if(prob(30))
|
||||
src.icon_state = "donut2"
|
||||
@@ -28,6 +29,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
reagents.add_reagent("sugar", 1)
|
||||
bitesize = 10
|
||||
switch(rand(1,10))
|
||||
if(1)
|
||||
@@ -67,6 +69,7 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
reagents.add_reagent("berryjuice", 5)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
if(prob(30))
|
||||
icon_state = "jdonut2"
|
||||
name = "Frosted Jelly Donut"
|
||||
@@ -83,6 +86,7 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
reagents.add_reagent("slimejelly", 5)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 5
|
||||
if(prob(30))
|
||||
icon_state = "jdonut2"
|
||||
@@ -100,6 +104,7 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
reagents.add_reagent("cherryjelly", 5)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
if(prob(30))
|
||||
icon_state = "jdonut2"
|
||||
name = "Frosted Jelly Donut"
|
||||
@@ -150,6 +155,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/waffles/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylentgreen
|
||||
@@ -161,6 +167,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylentgreen/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylenviridians
|
||||
@@ -172,6 +179,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylenviridians/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
|
||||
@@ -184,6 +192,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("mushroomhallucinogen", 8)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 4
|
||||
|
||||
////////////////////////////////////////////OTHER////////////////////////////////////////////
|
||||
@@ -207,12 +216,14 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/proc/cooltime() //Not working, derp?
|
||||
if(warm)
|
||||
spawn(4200) //ew
|
||||
warm = 0
|
||||
reagents.del_reagent("tricordrazine")
|
||||
reagents.add_reagent("sugar", 5)
|
||||
name = initial(name)
|
||||
return
|
||||
|
||||
@@ -248,12 +259,11 @@
|
||||
if(prob(10))
|
||||
name = "exceptional plump helmet biscuit"
|
||||
desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!"
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("tricordrazine", 5)
|
||||
bitesize = 2
|
||||
else
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
bitesize = 2
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/appletart
|
||||
name = "golden apple streusel tart"
|
||||
@@ -265,6 +275,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("gold", 5)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cracker
|
||||
@@ -285,6 +296,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("ketchup", 3)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbun
|
||||
@@ -295,6 +307,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbun/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie
|
||||
@@ -304,6 +317,6 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
@@ -9,6 +9,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("banana",5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom)
|
||||
@@ -27,6 +28,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("berryjuice", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatpie
|
||||
@@ -38,6 +40,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatpie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofupie
|
||||
@@ -49,6 +52,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofupie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/amanita_pie
|
||||
@@ -61,7 +65,8 @@
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("amatoxin", 3)
|
||||
reagents.add_reagent("mushroomhallucinogen", 1)
|
||||
bitesize = 3
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/plump_pie
|
||||
name = "plump pie"
|
||||
@@ -73,12 +78,11 @@
|
||||
if(prob(10))
|
||||
name = "exceptional plump pie"
|
||||
desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!"
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("tricordrazine", 5)
|
||||
bitesize = 2
|
||||
else
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
bitesize = 2
|
||||
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xemeatpie
|
||||
name = "xeno-pie"
|
||||
@@ -89,6 +93,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xemeatpie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/applepie
|
||||
@@ -99,6 +104,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/applepie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cherrypie
|
||||
@@ -109,6 +115,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cherrypie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
|
||||
@@ -121,6 +128,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 15)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice
|
||||
name = "pumpkin pie slice"
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 40)
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("tomatojuice", 6)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice
|
||||
@@ -32,8 +33,9 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 50)
|
||||
reagents.add_reagent("nutriment", 40)
|
||||
reagents.add_reagent("tomatojuice", 6)
|
||||
reagents.add_reagent("vitamin", 8)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice
|
||||
@@ -51,7 +53,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 35)
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice
|
||||
@@ -69,9 +72,10 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 30)
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
reagents.add_reagent("tomatojuice", 6)
|
||||
reagents.add_reagent("imidazoline", 12)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
|
||||
@@ -235,3 +239,23 @@
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/pizzabox/margherita/New()
|
||||
pizza = new /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita(src)
|
||||
boxtag = "Margherita Deluxe"
|
||||
update_icon()
|
||||
|
||||
/obj/item/pizzabox/vegetable/New()
|
||||
pizza = new /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza(src)
|
||||
boxtag = "Gourmet Vegatable"
|
||||
update_icon()
|
||||
|
||||
/obj/item/pizzabox/mushroom/New()
|
||||
pizza = new /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza(src)
|
||||
boxtag = "Mushroom Special"
|
||||
update_icon()
|
||||
|
||||
/obj/item/pizzabox/meat/New()
|
||||
pizza = new /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza(src)
|
||||
boxtag = "Meatlover's Supreme"
|
||||
update_icon()
|
||||
@@ -12,6 +12,7 @@
|
||||
eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("tricordrazine", 8)
|
||||
reagents.add_reagent("vitamin", 6)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/herbsalad
|
||||
@@ -23,6 +24,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/herbsalad/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/validsalad
|
||||
@@ -35,4 +37,5 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("doctorsdelight", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
@@ -8,6 +8,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sandwich/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich
|
||||
@@ -31,6 +32,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grilledcheese/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 7)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich
|
||||
@@ -47,10 +49,12 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime/New()
|
||||
..()
|
||||
reagents.add_reagent("slimejelly", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry/New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich
|
||||
name = "icecream sandwich"
|
||||
@@ -72,6 +76,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/notasandwich/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast
|
||||
@@ -88,10 +93,12 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry/New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime/New()
|
||||
..()
|
||||
reagents.add_reagent("slimejelly", 5)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/twobread
|
||||
name = "two bread"
|
||||
@@ -101,4 +108,5 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/twobread/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 3
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("water", 5)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slimesoup
|
||||
@@ -22,6 +23,7 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("slimejelly", 5)
|
||||
reagents.add_reagent("water", 10)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bloodsoup
|
||||
@@ -35,6 +37,7 @@
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("blood", 10)
|
||||
reagents.add_reagent("water", 5)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/clownstears
|
||||
@@ -48,6 +51,7 @@
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("banana", 5)
|
||||
reagents.add_reagent("water", 10)
|
||||
reagents.add_reagent("vitamin", 8)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup
|
||||
@@ -61,6 +65,7 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("water", 5)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/nettlesoup
|
||||
@@ -75,6 +80,7 @@
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("water", 5)
|
||||
reagents.add_reagent("tricordrazine", 5)
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mysterysoup
|
||||
@@ -137,6 +143,7 @@
|
||||
if(prob(25))
|
||||
desc = "A wish come true!"
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/hotchili
|
||||
name = "hot chili"
|
||||
@@ -147,9 +154,10 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/hotchili/New()
|
||||
..()
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("capsaicin", 3)
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("capsaicin", 1)
|
||||
reagents.add_reagent("tomatojuice", 2)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 5
|
||||
|
||||
|
||||
@@ -162,9 +170,10 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/coldchili/New()
|
||||
..()
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("frostoil", 3)
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("frostoil", 1)
|
||||
reagents.add_reagent("tomatojuice", 2)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight
|
||||
@@ -179,7 +188,8 @@
|
||||
reagents.add_reagent("banana", 5)
|
||||
reagents.add_reagent("blackpepper", 1)
|
||||
reagents.add_reagent("sodiumchloride", 1)
|
||||
bitesize = 6
|
||||
reagents.add_reagent("vitamin", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tomatosoup
|
||||
name = "tomato soup"
|
||||
@@ -192,6 +202,7 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
reagents.add_reagent("tomatojuice", 10)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/milosoup
|
||||
@@ -205,6 +216,7 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("water", 5)
|
||||
reagents.add_reagent("vitamin", 3)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup
|
||||
@@ -217,6 +229,7 @@
|
||||
..()
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/beetsoup
|
||||
@@ -230,4 +243,5 @@
|
||||
eatverb = pick("slurp","sip","suck","inhale","drink")
|
||||
name = pick("borsch","bortsch","borstch","borsh","borshch","borscht")
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 2
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spaghetti/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti
|
||||
@@ -18,6 +19,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("vitamin", 1)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pastatomato
|
||||
@@ -30,6 +32,7 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("tomatojuice", 10)
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/copypasta
|
||||
@@ -42,7 +45,8 @@
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 12)
|
||||
reagents.add_reagent("tomatojuice", 20)
|
||||
bitesize = 1
|
||||
reagents.add_reagent("vitamin", 8)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti
|
||||
name = "spaghetti and meatballs"
|
||||
@@ -53,7 +57,8 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
bitesize = 2
|
||||
reagents.add_reagent("vitamin", 4)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spesslaw
|
||||
name = "spesslaw"
|
||||
@@ -63,7 +68,8 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spesslaw/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
bitesize = 2
|
||||
reagents.add_reagent("vitamin", 6)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggplantparm
|
||||
name = "eggplant parmigiana"
|
||||
@@ -74,4 +80,5 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/eggplantparm/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("vitamin", 2)
|
||||
bitesize = 2
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chips
|
||||
@@ -33,7 +34,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chips/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/no_raisin
|
||||
@@ -44,7 +46,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/no_raisin/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie
|
||||
name = "space twinkie"
|
||||
@@ -64,7 +67,8 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers/New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/syndicake
|
||||
|
||||
@@ -74,16 +74,19 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/faggot,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL
|
||||
proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked)
|
||||
being_cooked.warm = 1
|
||||
being_cooked.reagents.add_reagent("tricordrazine", 5)
|
||||
being_cooked.bitesize = 6
|
||||
being_cooked.name = "Warm " + being_cooked.name
|
||||
being_cooked.cooltime()
|
||||
make_food(var/obj/container as obj)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = ..(container)
|
||||
warm_up(being_cooked)
|
||||
return being_cooked
|
||||
|
||||
/datum/recipe/donkpocket/proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked)
|
||||
being_cooked.warm = 1
|
||||
being_cooked.reagents.add_reagent("tricordrazine", 5)
|
||||
being_cooked.reagents.del_reagent("sugar")
|
||||
being_cooked.bitesize = 6
|
||||
being_cooked.name = "Warm " + being_cooked.name
|
||||
being_cooked.cooltime()
|
||||
|
||||
/datum/recipe/donkpocket/make_food(var/obj/container as obj)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = ..(container)
|
||||
warm_up(being_cooked)
|
||||
return being_cooked
|
||||
|
||||
/datum/recipe/donkpocket/warm
|
||||
reagents = list() //This is necessary since this is a child object of the above recipe and we don't want donk pockets to need flour
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/corn/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
|
||||
@@ -116,7 +117,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 15), 1))
|
||||
reagents.add_reagent("sugar", 1 + round((potency / 15), 1))
|
||||
reagents.add_reagent("sugar", 1 + round((potency / 50), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
|
||||
@@ -156,6 +157,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = reagents.total_volume
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
@@ -184,7 +186,8 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("sugar", 1 + round((potency / 5), 1))
|
||||
reagents.add_reagent("sugar", 1 + round((potency / 40), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green
|
||||
@@ -208,6 +211,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
|
||||
@@ -221,6 +225,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/berries/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison
|
||||
@@ -318,6 +323,7 @@
|
||||
reagents.add_reagent("kelotane", 1 + round(potency / 8, 1))
|
||||
reagents.add_reagent("bicaridine", 1 + round(potency / 10, 1))
|
||||
reagents.add_reagent("toxin", 1 + round(potency / 10, 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus
|
||||
@@ -332,6 +338,7 @@
|
||||
reagents.add_reagent("synaptizine", 1 + round(potency / 8, 1))
|
||||
reagents.add_reagent("hyperzine", 1 + round(potency / 10, 1))
|
||||
reagents.add_reagent("space_drugs", 1 + round(potency / 10, 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apple
|
||||
@@ -344,6 +351,7 @@
|
||||
if(..())
|
||||
reagents.maximum_volume = 20
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
bitesize = reagents.maximum_volume // Always eat the apple in one
|
||||
|
||||
|
||||
@@ -386,6 +394,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 6), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin
|
||||
@@ -397,6 +406,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 6), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
@@ -417,6 +427,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime
|
||||
@@ -447,6 +458,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", round((potency / 20), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("sugar", 1 + round((potency / 5), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
@@ -461,7 +473,9 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
|
||||
reagents.add_reagent("banana", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/chili
|
||||
@@ -474,6 +488,7 @@
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
|
||||
reagents.add_reagent("capsaicin", 3+round(potency / 5, 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
@@ -491,6 +506,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/add_juice()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 50), 1))
|
||||
reagents.add_reagent("frostoil", 3+round(potency / 5, 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
@@ -546,6 +562,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
|
||||
@@ -581,6 +598,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans
|
||||
@@ -593,6 +611,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 30), 1))
|
||||
reagents.add_reagent("carpotoxin", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower
|
||||
@@ -606,6 +625,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
|
||||
reagents.add_reagent("moonshine", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 50), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
//tomaters
|
||||
@@ -619,6 +639,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/proc/squish(atom/target)
|
||||
@@ -808,6 +829,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
reagents.add_reagent("imidazoline", 3+round(potency / 5, 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
@@ -895,6 +917,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet/add_juice()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2+round((potency / 10), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
|
||||
@@ -1040,6 +1063,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("coffeepowder", 1 + round((potency / 10), 2))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
|
||||
bitesize = 1 + round(reagents.total_volume / 2, 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica
|
||||
@@ -1067,6 +1091,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("nutriment", 1 + round((potency / 40), 1))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 40), 1))
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space
|
||||
@@ -1089,6 +1114,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/add_juice()
|
||||
if(..())
|
||||
reagents.add_reagent("teapowder", 1 + round((potency / 10), 2))
|
||||
reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera
|
||||
|
||||
@@ -228,7 +228,7 @@ var/const/MAX_ACTIVE_TIME = 400
|
||||
return
|
||||
|
||||
/proc/CanHug(var/mob/M)
|
||||
if(!M)
|
||||
if(!istype(M))
|
||||
return 0
|
||||
if(M.stat == DEAD)
|
||||
return 0
|
||||
|
||||
@@ -222,10 +222,10 @@
|
||||
msg += "[t_He] looks a little soaked.\n"
|
||||
|
||||
|
||||
if(nutrition < 100)
|
||||
if(nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] severely malnourished.\n"
|
||||
else if(nutrition >= 500)
|
||||
if(user.nutrition < 100)
|
||||
else if(nutrition >= NUTRITION_LEVEL_FAT)
|
||||
if(user.nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] quite chubby.\n"
|
||||
|
||||
@@ -216,10 +216,10 @@
|
||||
if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up.
|
||||
nutrition -= 2
|
||||
var/body_temperature_difference = 310.15 - bodytemperature
|
||||
bodytemperature += max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
|
||||
bodytemperature += max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
|
||||
if(260.15 to 360.15)
|
||||
var/body_temperature_difference = 310.15 - bodytemperature
|
||||
bodytemperature += body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR
|
||||
bodytemperature += body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR
|
||||
if(360.15 to INFINITY) //360.15 is 310.15 + 50, the temperature where you start to feel effects.
|
||||
//We totally need a sweat system cause it totally makes sense...~
|
||||
var/body_temperature_difference = 310.15 - bodytemperature
|
||||
|
||||
@@ -400,17 +400,42 @@
|
||||
H.update_inv_w_uniform(0)
|
||||
H.update_inv_wear_suit()
|
||||
|
||||
// nutrition decrease
|
||||
// nutrition decrease and satiety
|
||||
if (H.nutrition > 0 && H.stat != 2)
|
||||
H.nutrition = max (0, H.nutrition - HUNGER_FACTOR)
|
||||
var/hunger_rate = HUNGER_FACTOR
|
||||
if(H.satiety > 0)
|
||||
H.satiety--
|
||||
if(H.satiety < 0)
|
||||
H.satiety++
|
||||
if(prob(round(-H.satiety/40)))
|
||||
H.Jitter(5)
|
||||
hunger_rate = 5 * HUNGER_FACTOR
|
||||
H.nutrition = max (0, H.nutrition - hunger_rate)
|
||||
|
||||
if (H.nutrition > 450)
|
||||
|
||||
if (H.nutrition > NUTRITION_LEVEL_FULL)
|
||||
if(H.overeatduration < 600) //capped so people don't take forever to unfat
|
||||
H.overeatduration++
|
||||
else
|
||||
if(H.overeatduration > 1)
|
||||
H.overeatduration -= 2 //doubled the unfat rate
|
||||
|
||||
//metabolism change
|
||||
if(H.nutrition > NUTRITION_LEVEL_FAT)
|
||||
H.metabolism_efficiency = 1
|
||||
else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80)
|
||||
if(H.metabolism_efficiency != 1.25)
|
||||
H << "<span class='notice'>You feel vigorous.</span>"
|
||||
H.metabolism_efficiency = 1.25
|
||||
else if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
|
||||
if(H.metabolism_efficiency != 0.8)
|
||||
H << "<span class='notice'>You feel sluggish.</span>"
|
||||
H.metabolism_efficiency = 0.8
|
||||
else
|
||||
if(H.metabolism_efficiency == 1.25)
|
||||
H << "<span class='notice'>You no longer feel vigorous.</span>"
|
||||
H.metabolism_efficiency = 1
|
||||
|
||||
if (H.drowsyness)
|
||||
H.drowsyness--
|
||||
H.eye_blurry = max(2, H.eye_blurry)
|
||||
@@ -508,11 +533,18 @@
|
||||
|
||||
if(H.nutrition_icon)
|
||||
switch(H.nutrition)
|
||||
if(450 to INFINITY) H.nutrition_icon.icon_state = "nutrition0"
|
||||
if(350 to 450) H.nutrition_icon.icon_state = "nutrition1"
|
||||
if(250 to 350) H.nutrition_icon.icon_state = "nutrition2"
|
||||
if(150 to 250) H.nutrition_icon.icon_state = "nutrition3"
|
||||
else H.nutrition_icon.icon_state = "nutrition4"
|
||||
if(NUTRITION_LEVEL_FULL to INFINITY)
|
||||
H.nutrition_icon.icon_state = "nutritionFAT"
|
||||
if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
|
||||
H.nutrition_icon.icon_state = "nutrition0"
|
||||
if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
|
||||
H.nutrition_icon.icon_state = "nutrition1"
|
||||
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
|
||||
H.nutrition_icon.icon_state = "nutrition2"
|
||||
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
|
||||
H.nutrition_icon.icon_state = "nutrition3"
|
||||
else
|
||||
H.nutrition_icon.icon_state = "nutrition4"
|
||||
|
||||
if(H.pressure)
|
||||
H.pressure.icon_state = "pressure[H.pressure_alert]"
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
H.adjustFireLoss(rand(5,15))
|
||||
H.show_message("<span class='danger'>The radiation beam singes you!</span>")
|
||||
if(/obj/item/projectile/energy/florayield)
|
||||
H.nutrition = min(H.nutrition+30, 500)
|
||||
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
|
||||
return
|
||||
|
||||
/*
|
||||
@@ -103,14 +103,14 @@
|
||||
if(A.lighting_use_dynamic) light_amount = min(10,T.lighting_lumcount) - 5
|
||||
else light_amount = 5
|
||||
H.nutrition += light_amount
|
||||
if(H.nutrition > 500)
|
||||
H.nutrition = 500
|
||||
if(H.nutrition > NUTRITION_LEVEL_FULL)
|
||||
H.nutrition = NUTRITION_LEVEL_FULL
|
||||
if(light_amount > 2) //if there's enough light, heal
|
||||
H.heal_overall_damage(1,1)
|
||||
H.adjustToxLoss(-1)
|
||||
H.adjustOxyLoss(-1)
|
||||
|
||||
if(H.nutrition < 200)
|
||||
if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
|
||||
H.take_overall_damage(2,0)
|
||||
|
||||
/*
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
SetStunned(0)
|
||||
SetWeakened(0)
|
||||
radiation = 0
|
||||
nutrition = 400
|
||||
nutrition = NUTRITION_LEVEL_FED + 50
|
||||
bodytemperature = 310
|
||||
disabilities = 0
|
||||
eye_blind = 0
|
||||
|
||||
@@ -41,3 +41,4 @@
|
||||
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/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
|
||||
@@ -517,7 +517,7 @@ var/list/slot_equipment_priority = list( \
|
||||
namecounts[name] = 1
|
||||
creatures[name] = O
|
||||
|
||||
if(istype(O, /obj/machinery/singularity))
|
||||
if(istype(O, /obj/singularity))
|
||||
var/name = "Singularity"
|
||||
if (names.Find(name))
|
||||
namecounts[name]++
|
||||
|
||||
@@ -76,7 +76,8 @@
|
||||
var/drowsyness = 0//Carbon
|
||||
var/dizziness = 0//Carbon
|
||||
var/jitteriness = 0//Carbon
|
||||
var/nutrition = 400//Carbon
|
||||
var/nutrition = NUTRITION_LEVEL_FED + 50//Carbon
|
||||
var/satiety = 0//Carbon
|
||||
|
||||
var/overeatduration = 0 // How long this guy is overeating //Carbon
|
||||
var/paralysis = 0
|
||||
|
||||
@@ -720,12 +720,12 @@
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/tank_white
|
||||
name = "White Tank-Top"
|
||||
name = "White Tank Top"
|
||||
icon_state = "tank_white"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/tank_black
|
||||
name = "Black Tank-Top"
|
||||
name = "Black Tank Top"
|
||||
icon_state = "tank_black"
|
||||
gender = NEUTER
|
||||
|
||||
@@ -738,3 +738,208 @@
|
||||
name = "Midriff Tank Top"
|
||||
icon_state = "tank_midriff"
|
||||
gender = FEMALE
|
||||
|
||||
/datum/sprite_accessory/undershirt/lover
|
||||
name = "Lover shirt"
|
||||
icon_state = "lover"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/ian
|
||||
name = "Blue Ian Shirt"
|
||||
icon_state = "ian"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/uk
|
||||
name = "UK Shirt"
|
||||
icon_state = "uk"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/ilovent
|
||||
name = "I Love NT Shirt"
|
||||
icon_state = "ilovent"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/peace
|
||||
name = "Peace Shirt"
|
||||
icon_state = "peace"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/mondmondjaja
|
||||
name = "Band Shirt"
|
||||
icon_state = "band"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/pacman
|
||||
name = "Pogoman Shirt"
|
||||
icon_state = "pogoman"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/matroska
|
||||
name = "Matroska Shirt"
|
||||
icon_state = "matroska"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/whiteshortsleeve
|
||||
name = "White Short-sleeved Shirt"
|
||||
icon_state = "whiteshortsleeve"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/purpleshortsleeve
|
||||
name = "Purple Short-sleeved Shirt"
|
||||
icon_state = "purpleshortsleeve"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/blueshortsleeve
|
||||
name = "Blue Short-sleeved Shirt"
|
||||
icon_state = "blueshortsleeve"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/greenshortsleeve
|
||||
name = "Green Short-sleeved Shirt"
|
||||
icon_state = "greenshortsleeve"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/blackshortsleeve
|
||||
name = "Black Short-sleeved Shirt"
|
||||
icon_state = "blackshortsleeve"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/blueshirt
|
||||
name = "Blue T-Shirt"
|
||||
icon_state = "blueshirt"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redshirt
|
||||
name = "Red T-Shirt"
|
||||
icon_state = "redshirt"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/yellowshirt
|
||||
name = "Yellow T-Shirt"
|
||||
icon_state = "yellowshirt"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/greenshirt
|
||||
name = "Green T-Shirt"
|
||||
icon_state = "greenshirt"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/bluepolo
|
||||
name = "Blue Polo Shirt"
|
||||
icon_state = "bluepolo"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redpolo
|
||||
name = "Red Polo Shirt"
|
||||
icon_state = "redpolo"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/whitepolo
|
||||
name = "White Polo Shirt"
|
||||
icon_state = "whitepolo"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/grayyellowpolo
|
||||
name = "Gray-Yellow Polo Shirt"
|
||||
icon_state = "grayyellowpolo"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redtop
|
||||
name = "Red Top"
|
||||
icon_state = "redtop"
|
||||
gender = FEMALE
|
||||
|
||||
/datum/sprite_accessory/undershirt/whitetop
|
||||
name = "White Top"
|
||||
icon_state = "whitetop"
|
||||
gender = FEMALE
|
||||
|
||||
/datum/sprite_accessory/undershirt/greenshirtsport
|
||||
name = "Green Sports Shirt"
|
||||
icon_state = "greenshirtsport"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redshirtsport
|
||||
name = "Red Sports Shirt"
|
||||
icon_state = "redshirtsport"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/blueshirtsport
|
||||
name = "Blue Sports Shirt"
|
||||
icon_state = "blueshirtsport"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/ss13
|
||||
name = "SS13 Shirt"
|
||||
icon_state = "shirt_ss13"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/tankfire
|
||||
name = "Fire Tank Top"
|
||||
icon_state = "tank_fire"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/question
|
||||
name = "Question Shirt"
|
||||
icon_state = "shirt_question"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/skull
|
||||
name = "Skull Shirt"
|
||||
icon_state = "shirt_skull"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/commie
|
||||
name = "Commie Shirt"
|
||||
icon_state = "shirt_commie"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/nano
|
||||
name = "Nanotransen Shirt"
|
||||
icon_state = "shirt_nano"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/stripe
|
||||
name = "Striped Shirt"
|
||||
icon_state = "shirt_stripes"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/blueshirt
|
||||
name = "Blue Shirt"
|
||||
icon_state = "shirt_blue"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redshirt
|
||||
name = "Red Shirt"
|
||||
icon_state = "shirt_red"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/greenshirt
|
||||
name = "Green Shirt"
|
||||
icon_state = "shirt_green"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/meat
|
||||
name = "Meat Shirt"
|
||||
icon_state = "shirt_meat"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/tiedye
|
||||
name = "Tie-dye Shirt"
|
||||
icon_state = "shirt_tiedye"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/redjersey
|
||||
name = "Red Jersey"
|
||||
icon_state = "shirt_redjersey"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/bluejersey
|
||||
name = "Blue Jersey"
|
||||
icon_state = "shirt_bluejersey"
|
||||
gender = NEUTER
|
||||
|
||||
/datum/sprite_accessory/undershirt/tankstripe
|
||||
name = "Striped Tank Top"
|
||||
icon_state = "tank_stripes"
|
||||
gender = FEMALE
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/field/CanPass(obj/mover as obj, turf/target, height=0)
|
||||
if((istype(mover, /obj/machinery) && !istype(mover, /obj/machinery/singularity)) || \
|
||||
if((istype(mover, /obj/machinery) && !istype(mover, /obj/singularity)) || \
|
||||
istype(mover, /obj/structure) || \
|
||||
istype(mover, /obj/mecha))
|
||||
bump(mover)
|
||||
|
||||
@@ -344,7 +344,7 @@ field_generator power level display
|
||||
//I want to avoid using global variables.
|
||||
spawn(1)
|
||||
var/temp = 1 //stops spam
|
||||
for(var/obj/machinery/singularity/O in world)
|
||||
for(var/obj/singularity/O in world)
|
||||
if(O.last_warning && temp)
|
||||
if((world.time - O.last_warning) > 50) //to stop message-spam
|
||||
temp = 0
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/machinery/the_singularitygen/process()
|
||||
var/turf/T = get_turf(src)
|
||||
if(src.energy >= 200)
|
||||
new /obj/machinery/singularity/(T, 50)
|
||||
new /obj/singularity/(T, 50)
|
||||
if(src) qdel(src)
|
||||
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/machinery/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO
|
||||
/obj/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO
|
||||
name = "Nar-sie's Avatar"
|
||||
desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees."
|
||||
icon = 'icons/obj/magic_terror.dmi'
|
||||
@@ -12,7 +12,7 @@
|
||||
consume_range = 6 //How many tiles out do we eat
|
||||
var/uneatable = list(/turf/space, /obj/effect/overlay, /mob/living/simple_animal/construct)
|
||||
|
||||
/obj/machinery/singularity/narsie/large
|
||||
/obj/singularity/narsie/large
|
||||
name = "Nar-Sie"
|
||||
icon = 'icons/obj/narsie.dmi'
|
||||
// Pixel stuff centers Narsie.
|
||||
@@ -23,7 +23,7 @@
|
||||
grav_pull = 10
|
||||
consume_range = 12 //How many tiles out do we eat
|
||||
|
||||
/obj/machinery/singularity/narsie/large/New()
|
||||
/obj/singularity/narsie/large/New()
|
||||
..()
|
||||
world << "<font size='15' color='red'><b>NAR-SIE HAS RISEN</b></font>"
|
||||
world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg'))
|
||||
@@ -39,7 +39,7 @@
|
||||
emergency_shuttle.incall(0.3) // Cannot recall
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
|
||||
/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
|
||||
if(!(src in view()))
|
||||
user << "Your soul is too far away."
|
||||
return
|
||||
@@ -47,7 +47,7 @@
|
||||
new /obj/effect/effect/sleep_smoke(user.loc)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/process()
|
||||
/obj/singularity/narsie/process()
|
||||
eat()
|
||||
if(!target || prob(5))
|
||||
pickcultist()
|
||||
@@ -56,15 +56,15 @@
|
||||
mezzer()
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/Bump(atom/A)//you dare stand before a god?!
|
||||
/obj/singularity/narsie/Bump(atom/A)//you dare stand before a god?!
|
||||
godsmack(A)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/Bumped(atom/A)
|
||||
/obj/singularity/narsie/Bumped(atom/A)
|
||||
godsmack(A)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/godsmack(var/atom/A)
|
||||
/obj/singularity/narsie/proc/godsmack(var/atom/A)
|
||||
if(istype(A,/obj/))
|
||||
var/obj/O = A
|
||||
O.ex_act(1.0)
|
||||
@@ -75,7 +75,7 @@
|
||||
T.ChangeTurf(/turf/simulated/floor/engine/cult)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/mezzer()
|
||||
/obj/singularity/narsie/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(M.stat == CONSCIOUS)
|
||||
if(!iscultist(M))
|
||||
@@ -83,7 +83,7 @@
|
||||
M.apply_effect(3, STUN)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/consume(var/atom/A)
|
||||
/obj/singularity/narsie/consume(var/atom/A)
|
||||
if(is_type_in_list(A, uneatable))
|
||||
return 0
|
||||
|
||||
@@ -105,11 +105,11 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO
|
||||
/obj/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO
|
||||
/obj/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO
|
||||
var/list/cultists = list()
|
||||
var/list/noncultists = list()
|
||||
for(var/mob/living/carbon/food in living_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess
|
||||
@@ -143,7 +143,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/acquire(var/mob/food)
|
||||
/obj/singularity/narsie/proc/acquire(var/mob/food)
|
||||
target << "<span class='notice'>NAR-SIE HAS LOST INTEREST IN YOU</span>"
|
||||
target = food
|
||||
if(ishuman(target))
|
||||
@@ -152,10 +152,10 @@
|
||||
target << "<span class ='userdanger'>NAR-SIE HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL</span>"
|
||||
|
||||
//Wizard narsie
|
||||
/obj/machinery/singularity/narsie/wizard
|
||||
/obj/singularity/narsie/wizard
|
||||
grav_pull = 0
|
||||
|
||||
/obj/machinery/singularity/narsie/wizard/eat()
|
||||
/obj/singularity/narsie/wizard/eat()
|
||||
set background = BACKGROUND_ENABLED
|
||||
// if(defer_powernet_rebuild != 2)
|
||||
// defer_powernet_rebuild = 1
|
||||
@@ -167,7 +167,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/narsie_spawn_animation()
|
||||
/obj/singularity/narsie/proc/narsie_spawn_animation()
|
||||
icon = 'icons/obj/narsie_spawn_anim.dmi'
|
||||
dir = SOUTH
|
||||
move_self = 0
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if (A)
|
||||
if(ismob(A))
|
||||
toxmob(A)
|
||||
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/machinery/singularity/)))
|
||||
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/singularity/)))
|
||||
A:energy += energy
|
||||
return
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
/obj/machinery/singularity
|
||||
/obj/singularity
|
||||
name = "gravitational singularity"
|
||||
desc = "A gravitational singularity."
|
||||
icon = 'icons/obj/singularity.dmi'
|
||||
@@ -10,7 +10,6 @@
|
||||
layer = 6
|
||||
luminosity = 6
|
||||
unacidable = 1 //Don't comment this out.
|
||||
use_power = 0
|
||||
var/current_size = 1
|
||||
var/allowed_size = 1
|
||||
var/contained = 1 //Are we going to move around?
|
||||
@@ -27,20 +26,24 @@
|
||||
var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing
|
||||
var/last_warning
|
||||
|
||||
/obj/machinery/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
/obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
//CARN: admin-alert for chuckle-fuckery.
|
||||
admin_investigate_setup()
|
||||
|
||||
src.energy = starting_energy
|
||||
..()
|
||||
processing_objects.Add(src)
|
||||
for(var/obj/machinery/power/singularity_beacon/singubeacon in world)
|
||||
if(singubeacon.active)
|
||||
target = singubeacon
|
||||
break
|
||||
return
|
||||
|
||||
/obj/singularity/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/singularity/Move(atom/newloc, direct)
|
||||
/obj/singularity/Move(atom/newloc, direct)
|
||||
if(current_size >= STAGE_FIVE || check_turfs_in(direct))
|
||||
last_failed_movement = 0//Reset this because we moved
|
||||
return ..()
|
||||
@@ -49,17 +52,17 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/singularity/attack_hand(mob/user as mob)
|
||||
/obj/singularity/attack_hand(mob/user as mob)
|
||||
consume(user)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/Process_Spacemove() //The singularity stops drifting for no man!
|
||||
/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man!
|
||||
return 0
|
||||
|
||||
/obj/machinery/singularity/blob_act(severity)
|
||||
/obj/singularity/blob_act(severity)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/ex_act(severity, target)
|
||||
/obj/singularity/ex_act(severity, target)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
if(current_size <= STAGE_TWO)
|
||||
@@ -75,21 +78,21 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/bullet_act(obj/item/projectile/P)
|
||||
/obj/singularity/bullet_act(obj/item/projectile/P)
|
||||
return 0 //Will there be an impact? Who knows. Will we see it? No.
|
||||
|
||||
|
||||
/obj/machinery/singularity/Bump(atom/A)
|
||||
/obj/singularity/Bump(atom/A)
|
||||
consume(A)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/Bumped(atom/A)
|
||||
/obj/singularity/Bumped(atom/A)
|
||||
consume(A)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/process()
|
||||
/obj/singularity/process()
|
||||
if(current_size >= STAGE_TWO)
|
||||
move()
|
||||
pulse()
|
||||
@@ -102,17 +105,17 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/attack_ai() //to prevent ais from gibbing themselves when they click on one.
|
||||
/obj/singularity/attack_ai() //to prevent ais from gibbing themselves when they click on one.
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/admin_investigate_setup()
|
||||
/obj/singularity/proc/admin_investigate_setup()
|
||||
last_warning = world.time
|
||||
var/count = locate(/obj/machinery/field/containment) in orange(30, src)
|
||||
if(!count) message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1)
|
||||
investigate_log("was created. [count?"":"<font color='red'>No containment fields were active</font>"]","singulo")
|
||||
|
||||
/obj/machinery/singularity/proc/dissipate()
|
||||
/obj/singularity/proc/dissipate()
|
||||
if(!dissipate)
|
||||
return
|
||||
if(dissipate_track >= dissipate_delay)
|
||||
@@ -122,7 +125,7 @@
|
||||
dissipate_track++
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/expand(var/force_size = 0)
|
||||
/obj/singularity/proc/expand(var/force_size = 0)
|
||||
var/temp_allowed_size = src.allowed_size
|
||||
if(force_size)
|
||||
temp_allowed_size = force_size
|
||||
@@ -191,7 +194,7 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/check_energy()
|
||||
/obj/singularity/proc/check_energy()
|
||||
if(energy <= 0)
|
||||
investigate_log("collapsed.","singulo")
|
||||
qdel(src)
|
||||
@@ -212,11 +215,11 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/eat()
|
||||
/obj/singularity/proc/eat()
|
||||
set background = BACKGROUND_ENABLED
|
||||
for(var/atom/X in orange(grav_pull,src))
|
||||
var/dist = get_dist(X, src)
|
||||
var/obj/machinery/singularity/S = src
|
||||
var/obj/singularity/S = src
|
||||
if(dist > consume_range)
|
||||
X.singularity_pull(S, current_size)
|
||||
else if(dist <= consume_range)
|
||||
@@ -224,13 +227,13 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/consume(var/atom/A)
|
||||
/obj/singularity/proc/consume(var/atom/A)
|
||||
var/gain = A.singularity_act(current_size)
|
||||
src.energy += gain
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/move(var/force_move = 0)
|
||||
/obj/singularity/proc/move(var/force_move = 0)
|
||||
if(!move_self)
|
||||
return 0
|
||||
|
||||
@@ -245,7 +248,7 @@
|
||||
step(src, movement_dir)
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/check_turfs_in(var/direction = 0, var/step = 0)
|
||||
/obj/singularity/proc/check_turfs_in(var/direction = 0, var/step = 0)
|
||||
if(!direction)
|
||||
return 0
|
||||
var/steps = 0
|
||||
@@ -298,7 +301,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/can_move(var/turf/T)
|
||||
/obj/singularity/proc/can_move(var/turf/T)
|
||||
if(!T)
|
||||
return 0
|
||||
if((locate(/obj/machinery/field/containment) in T)||(locate(/obj/machinery/shieldwall) in T))
|
||||
@@ -314,7 +317,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/event()
|
||||
/obj/singularity/proc/event()
|
||||
var/numb = pick(1,2,3,4,5,6)
|
||||
switch(numb)
|
||||
if(1)//EMP
|
||||
@@ -328,7 +331,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/toxmob()
|
||||
/obj/singularity/proc/toxmob()
|
||||
var/toxrange = 10
|
||||
var/toxdamage = 4
|
||||
var/radiation = 15
|
||||
@@ -344,7 +347,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/mezzer()
|
||||
/obj/singularity/proc/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(istype(M, /mob/living/carbon/brain)) //Ignore brains
|
||||
continue
|
||||
@@ -361,19 +364,19 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/emp_area()
|
||||
/obj/singularity/proc/emp_area()
|
||||
empulse(src, 8, 10)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/pulse()
|
||||
/obj/singularity/proc/pulse()
|
||||
|
||||
for(var/obj/machinery/power/rad_collector/R in rad_collectors)
|
||||
if(get_dist(R, src) <= 15) // Better than using orange() every process
|
||||
R.receive_pulse(energy)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/singularity_act()
|
||||
/obj/singularity/singularity_act()
|
||||
var/gain = (energy/2)
|
||||
var/dist = max((current_size - 2),1)
|
||||
explosion(src.loc,(dist),(dist*2),(dist*4))
|
||||
|
||||
@@ -96,6 +96,12 @@
|
||||
icon_state = "ishell"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/shell
|
||||
|
||||
/obj/item/ammo_casing/shotgun/frag12
|
||||
name = "FRAG-12 slug"
|
||||
desc = "A high explosive breaching round for a 12 gauge shotgun."
|
||||
icon_state = "heshell"
|
||||
projectile_type = /obj/item/projectile/bullet/frag12
|
||||
|
||||
/obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
|
||||
name = "dragonsbreath shell"
|
||||
desc = "A shotgun shell which fires a spread of incendiary pellets."
|
||||
@@ -157,4 +163,4 @@
|
||||
desc = "A cased high explosive grenade that can only be activated once fired out of a grenade launcher."
|
||||
caliber = "40mm"
|
||||
icon_state = "40mmHE"
|
||||
projectile_type = /obj/item/projectile/bullet/a40mm
|
||||
projectile_type = /obj/item/projectile/bullet/a40mm
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
caliber = ".45"
|
||||
max_ammo = 20
|
||||
|
||||
/obj/item/ammo_box/magazine/smgm/update_icon()
|
||||
/obj/item/ammo_box/magazine/smgm45/update_icon()
|
||||
..()
|
||||
icon_state = "[initial(icon_state)]-[round(ammo_count(),2)]"
|
||||
|
||||
|
||||
@@ -168,3 +168,14 @@ obj/item/projectile/kinetic/New()
|
||||
if(!gun)
|
||||
qdel(src)
|
||||
gun.create_portal(src)
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/gyro/on_hit(atom/target, blocked = 0)
|
||||
explosion(target, -1, 0, 2)
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/frag12
|
||||
name ="explosive slug"
|
||||
damage = 25
|
||||
weaken = 5
|
||||
@@ -0,0 +1,620 @@
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
//ALCOHOLS
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*boozepwr chart
|
||||
55 = non-toxic alchohol
|
||||
45 = medium-toxic
|
||||
35 = the hard stuff
|
||||
25 = potent mixes
|
||||
<15 = deadly toxic
|
||||
*/
|
||||
|
||||
datum/reagent/consumable/ethanol
|
||||
name = "Ethanol"
|
||||
id = "ethanol"
|
||||
description = "A well-known alcohol with a variety of applications."
|
||||
color = "#404030" // rgb: 64, 64, 48
|
||||
nutriment_factor = 0
|
||||
var/boozepwr = 10 //lower numbers mean the booze will have an effect faster.
|
||||
|
||||
datum/reagent/consumable/ethanol/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
M.jitteriness = max(M.jitteriness-5,0)
|
||||
if(data >= boozepwr)
|
||||
if (!M.stuttering) M.stuttering = 1
|
||||
M.stuttering += 4
|
||||
M.Dizzy(5)
|
||||
if(data >= boozepwr*2.5 && prob(33))
|
||||
if (!M.confused) M.confused = 1
|
||||
M.confused += 3
|
||||
if(data >= boozepwr*10 && prob(33))
|
||||
M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
datum/reagent/consumable/ethanol/reaction_obj(var/obj/O, var/volume)
|
||||
if(istype(O,/obj/item/weapon/paper))
|
||||
var/obj/item/weapon/paper/paperaffected = O
|
||||
paperaffected.clearpaper()
|
||||
usr << "The solution melts away the ink on the paper."
|
||||
if(istype(O,/obj/item/weapon/book))
|
||||
if(volume >= 5)
|
||||
var/obj/item/weapon/book/affectedbook = O
|
||||
affectedbook.dat = null
|
||||
usr << "The solution melts away the ink on the book."
|
||||
else
|
||||
usr << "It wasn't enough..."
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with ethanol isn't quite as good as fuel.
|
||||
if(!istype(M, /mob/living))
|
||||
return
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(volume / 15)
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/beer
|
||||
name = "Beer"
|
||||
id = "beer"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/beer/greenbeer
|
||||
name = "Green Beer"
|
||||
id = "greenbeer"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water. Dyed a festive green."
|
||||
color = "#A8E61D"
|
||||
|
||||
datum/reagent/consumable/ethanol/kahlua
|
||||
name = "Kahlua"
|
||||
id = "kahlua"
|
||||
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/kahlua/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
M.Jitter(5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/whiskey
|
||||
name = "Whiskey"
|
||||
id = "whiskey"
|
||||
description = "A superb and well-aged single-malt whiskey. Damn."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/thirteenloko
|
||||
name = "Thirteen Loko"
|
||||
id = "thirteenloko"
|
||||
description = "A potent mixture of caffeine and alcohol."
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(var/mob/living/M as mob)
|
||||
M.drowsyness = max(0,M.drowsyness-7)
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/vodka
|
||||
name = "Vodka"
|
||||
id = "vodka"
|
||||
description = "Number one drink AND fueling choice for Russians worldwide."
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/vodka/on_mob_life(var/mob/living/M as mob)
|
||||
M.radiation = max(M.radiation-2,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/bilk
|
||||
name = "Bilk"
|
||||
id = "bilk"
|
||||
description = "This appears to be beer mixed with milk. Disgusting."
|
||||
color = "#895C4C" // rgb: 137, 92, 76
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/bilk/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getBruteLoss() && prob(10))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/threemileisland
|
||||
name = "Three Mile Island Iced Tea"
|
||||
id = "threemileisland"
|
||||
description = "Made for a woman, strong enough for a man."
|
||||
color = "#666340" // rgb: 102, 99, 64
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/threemileisland/on_mob_life(var/mob/living/M as mob)
|
||||
M.druggy = max(M.druggy, 50)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/gin
|
||||
name = "Gin"
|
||||
id = "gin"
|
||||
description = "It's gin. In space. I say, good sir."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/rum
|
||||
name = "Rum"
|
||||
id = "rum"
|
||||
description = "Yohoho and all that."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/tequilla
|
||||
name = "Tequila"
|
||||
id = "tequilla"
|
||||
description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?"
|
||||
color = "#FFFF91" // rgb: 255, 255, 145
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/vermouth
|
||||
name = "Vermouth"
|
||||
id = "vermouth"
|
||||
description = "You suddenly feel a craving for a martini..."
|
||||
color = "#91FF91" // rgb: 145, 255, 145
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/wine
|
||||
name = "Wine"
|
||||
id = "wine"
|
||||
description = "An premium alchoholic beverage made from distilled grape juice."
|
||||
color = "#7E4043" // rgb: 126, 64, 67
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/cognac
|
||||
name = "Cognac"
|
||||
id = "cognac"
|
||||
description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
|
||||
color = "#AB3C05" // rgb: 171, 60, 5
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/hooch
|
||||
name = "Hooch"
|
||||
id = "hooch"
|
||||
description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/ale
|
||||
name = "Ale"
|
||||
id = "ale"
|
||||
description = "A dark alchoholic beverage made by malted barley and yeast."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/goldschlager
|
||||
name = "Goldschlager"
|
||||
id = "goldschlager"
|
||||
description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
|
||||
color = "#FFFF91" // rgb: 255, 255, 145
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/patron
|
||||
name = "Patron"
|
||||
id = "patron"
|
||||
description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
|
||||
color = "#585840" // rgb: 88, 88, 64
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/gintonic
|
||||
name = "Gin and Tonic"
|
||||
id = "gintonic"
|
||||
description = "An all time classic, mild cocktail."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/cuba_libre
|
||||
name = "Cuba Libre"
|
||||
id = "cubalibre"
|
||||
description = "Rum, mixed with cola. Viva la revolution."
|
||||
color = "#3E1B00" // rgb: 62, 27, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/whiskey_cola
|
||||
name = "Whiskey Cola"
|
||||
id = "whiskeycola"
|
||||
description = "Whiskey, mixed with cola. Surprisingly refreshing."
|
||||
color = "#3E1B00" // rgb: 62, 27, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/martini
|
||||
name = "Classic Martini"
|
||||
id = "martini"
|
||||
description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/vodkamartini
|
||||
name = "Vodka Martini"
|
||||
id = "vodkamartini"
|
||||
description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/white_russian
|
||||
name = "White Russian"
|
||||
id = "whiterussian"
|
||||
description = "That's just, like, your opinion, man..."
|
||||
color = "#A68340" // rgb: 166, 131, 64
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/screwdrivercocktail
|
||||
name = "Screwdriver"
|
||||
id = "screwdrivercocktail"
|
||||
description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
|
||||
color = "#A68310" // rgb: 166, 131, 16
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/booger
|
||||
name = "Booger"
|
||||
id = "booger"
|
||||
description = "Ewww..."
|
||||
color = "#8CFF8C" // rgb: 140, 255, 140
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/bloody_mary
|
||||
name = "Bloody Mary"
|
||||
id = "bloodymary"
|
||||
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/brave_bull
|
||||
name = "Brave Bull"
|
||||
id = "bravebull"
|
||||
description = "It's just as effective as Dutch-Courage!."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/tequilla_sunrise
|
||||
name = "Tequila Sunrise"
|
||||
id = "tequillasunrise"
|
||||
description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~"
|
||||
color = "#FFE48C" // rgb: 255, 228, 140
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/toxins_special
|
||||
name = "Toxins Special"
|
||||
id = "toxinsspecial"
|
||||
description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/toxins_special/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature < 330)
|
||||
M.bodytemperature = min(330, M.bodytemperature + (15 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/beepsky_smash
|
||||
name = "Beepsky Smash"
|
||||
id = "beepskysmash"
|
||||
description = "Deny drinking this and prepare for THE LAW."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(var/mob/living/M as mob)
|
||||
M.Stun(2)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/irish_cream
|
||||
name = "Irish Cream"
|
||||
id = "irishcream"
|
||||
description = "Whiskey-imbued cream, what else would you expect from the Irish."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/manly_dorf
|
||||
name = "The Manly Dorf"
|
||||
id = "manlydorf"
|
||||
description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45 //was 10, but really its only beer and ale, both weak alchoholic beverages
|
||||
|
||||
datum/reagent/consumable/ethanol/longislandicedtea
|
||||
name = "Long Island Iced Tea"
|
||||
id = "longislandicedtea"
|
||||
description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/moonshine
|
||||
name = "Moonshine"
|
||||
id = "moonshine"
|
||||
description = "You've really hit rock bottom now... your liver packed its bags and left last night."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/b52
|
||||
name = "B-52"
|
||||
id = "b52"
|
||||
description = "Coffee, Irish Cream, and cognac. You will get bombed."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/irishcoffee
|
||||
name = "Irish Coffee"
|
||||
id = "irishcoffee"
|
||||
description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/margarita
|
||||
name = "Margarita"
|
||||
id = "margarita"
|
||||
description = "On the rocks with salt on the rim. Arriba~!"
|
||||
color = "#8CFF8C" // rgb: 140, 255, 140
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/black_russian
|
||||
name = "Black Russian"
|
||||
id = "blackrussian"
|
||||
description = "For the lactose-intolerant. Still as classy as a White Russian."
|
||||
color = "#360000" // rgb: 54, 0, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/manhattan
|
||||
name = "Manhattan"
|
||||
id = "manhattan"
|
||||
description = "The Detective's undercover drink of choice. He never could stomach gin..."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/manhattan_proj
|
||||
name = "Manhattan Project"
|
||||
id = "manhattan_proj"
|
||||
description = "A scientist's drink of choice, for pondering ways to blow up the station."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(var/mob/living/M as mob)
|
||||
M.druggy = max(M.druggy, 30)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/whiskeysoda
|
||||
name = "Whiskey Soda"
|
||||
id = "whiskeysoda"
|
||||
description = "For the more refined griffon."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/antifreeze
|
||||
name = "Anti-freeze"
|
||||
id = "antifreeze"
|
||||
description = "Ultimate refreshment."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/antifreeze/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature < 330)
|
||||
M.bodytemperature = min(330, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/barefoot
|
||||
name = "Barefoot"
|
||||
id = "barefoot"
|
||||
description = "Barefoot and pregnant"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/snowwhite
|
||||
name = "Snow White"
|
||||
id = "snowwhite"
|
||||
description = "A cold refreshment"
|
||||
color = "#FFFFFF" // rgb: 255, 255, 255
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/demonsblood
|
||||
name = "Demons Blood"
|
||||
id = "demonsblood"
|
||||
description = "AHHHH!!!!"
|
||||
color = "#820000" // rgb: 130, 0, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/vodkatonic
|
||||
name = "Vodka and Tonic"
|
||||
id = "vodkatonic"
|
||||
description = "For when a gin and tonic isn't russian enough."
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/ginfizz
|
||||
name = "Gin Fizz"
|
||||
id = "ginfizz"
|
||||
description = "Refreshingly lemony, deliciously dry."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/bahama_mama
|
||||
name = "Bahama mama"
|
||||
id = "bahama_mama"
|
||||
description = "Tropical cocktail."
|
||||
color = "#FF7F3B" // rgb: 255, 127, 59
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/singulo
|
||||
name = "Singulo"
|
||||
id = "singulo"
|
||||
description = "A blue-space beverage!"
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/sbiten
|
||||
name = "Sbiten"
|
||||
id = "sbiten"
|
||||
description = "A spicy Vodka! Might be a little hot for the little guys!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/sbiten/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature < 360)
|
||||
M.bodytemperature = min(360, M.bodytemperature + (50 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/devilskiss
|
||||
name = "Devils Kiss"
|
||||
id = "devilskiss"
|
||||
description = "Creepy time!"
|
||||
color = "#A68310" // rgb: 166, 131, 16
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/red_mead
|
||||
name = "Red Mead"
|
||||
id = "red_mead"
|
||||
description = "The true Viking drink! Even though it has a strange red color."
|
||||
color = "#C73C00" // rgb: 199, 60, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/mead
|
||||
name = "Mead"
|
||||
id = "mead"
|
||||
description = "A Vikings drink, though a cheap one."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/iced_beer
|
||||
name = "Iced Beer"
|
||||
id = "iced_beer"
|
||||
description = "A beer which is so cold the air around it freezes."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 55
|
||||
|
||||
datum/reagent/consumable/ethanol/iced_beer/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.bodytemperature > 270)
|
||||
M.bodytemperature = max(270, M.bodytemperature - (20 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/grog
|
||||
name = "Grog"
|
||||
id = "grog"
|
||||
description = "Watered down rum, Nanotrasen approves!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 90
|
||||
|
||||
datum/reagent/consumable/ethanol/aloe
|
||||
name = "Aloe"
|
||||
id = "aloe"
|
||||
description = "So very, very, very good."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/andalusia
|
||||
name = "Andalusia"
|
||||
id = "andalusia"
|
||||
description = "A nice, strange named drink."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/alliescocktail
|
||||
name = "Allies Cocktail"
|
||||
id = "alliescocktail"
|
||||
description = "A drink made from your allies, not as sweet as when made from your enemies."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/acid_spit
|
||||
name = "Acid Spit"
|
||||
id = "acidspit"
|
||||
description = "A drink for the daring, can be deadly if incorrectly prepared!"
|
||||
color = "#365000" // rgb: 54, 80, 0
|
||||
boozepwr = 45
|
||||
|
||||
datum/reagent/consumable/ethanol/amasec
|
||||
name = "Amasec"
|
||||
id = "amasec"
|
||||
description = "Official drink of the Nanotrasen Gun-Club!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/changelingsting
|
||||
name = "Changeling Sting"
|
||||
id = "changelingsting"
|
||||
description = "You take a tiny sip and feel a burning sensation..."
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/irishcarbomb
|
||||
name = "Irish Car Bomb"
|
||||
id = "irishcarbomb"
|
||||
description = "Mmm, tastes like chocolate cake..."
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/syndicatebomb
|
||||
name = "Syndicate Bomb"
|
||||
id = "syndicatebomb"
|
||||
description = "Tastes like terrorism!"
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/erikasurprise
|
||||
name = "Erika Surprise"
|
||||
id = "erikasurprise"
|
||||
description = "The surprise is, it's green!"
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 35
|
||||
|
||||
datum/reagent/consumable/ethanol/driestmartini
|
||||
name = "Driest Martini"
|
||||
id = "driestmartini"
|
||||
description = "Only for the experienced. You think you see sand floating in the glass."
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/bananahonk
|
||||
name = "Banana Mama"
|
||||
id = "bananahonk"
|
||||
description = "A drink from Clown Heaven."
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#FFFF91" // rgb: 255, 255, 140
|
||||
boozepwr = 25
|
||||
|
||||
datum/reagent/consumable/ethanol/bananahonk/on_mob_life(var/mob/living/M as mob)
|
||||
if( ( istype(M, /mob/living/carbon/human) && M.job in list("Clown") ) || istype(M, /mob/living/carbon/monkey) )
|
||||
M.heal_organ_damage(1,1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ethanol/silencer
|
||||
name = "Silencer"
|
||||
id = "silencer"
|
||||
description = "A drink from Mime Heaven."
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
boozepwr = 15
|
||||
|
||||
datum/reagent/consumable/ethanol/silencer/on_mob_life(var/mob/living/M as mob)
|
||||
if(istype(M, /mob/living/carbon/human) && M.job in list("Mime"))
|
||||
M.heal_organ_damage(1,1)
|
||||
..()
|
||||
return
|
||||
@@ -0,0 +1,537 @@
|
||||
|
||||
#define REM REAGENTS_EFFECT_MULTIPLIER
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////// DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
datum/reagent/consumable/orangejuice
|
||||
name = "Orange juice"
|
||||
id = "orangejuice"
|
||||
description = "Both delicious AND rich in Vitamin C, what more do you need?"
|
||||
color = "#E78108" // rgb: 231, 129, 8
|
||||
|
||||
datum/reagent/consumable/orangejuice/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getOxyLoss() && prob(30))
|
||||
M.adjustOxyLoss(-1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/tomatojuice
|
||||
name = "Tomato Juice"
|
||||
id = "tomatojuice"
|
||||
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
|
||||
color = "#731008" // rgb: 115, 16, 8
|
||||
|
||||
datum/reagent/consumable/tomatojuice/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getFireLoss() && prob(20))
|
||||
M.heal_organ_damage(0,1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/limejuice
|
||||
name = "Lime Juice"
|
||||
id = "limejuice"
|
||||
description = "The sweet-sour juice of limes."
|
||||
color = "#365E30" // rgb: 54, 94, 48
|
||||
|
||||
datum/reagent/consumable/limejuice/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getToxLoss() && prob(20))
|
||||
M.adjustToxLoss(-1*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/carrotjuice
|
||||
name = "Carrot juice"
|
||||
id = "carrotjuice"
|
||||
description = "It is just like a carrot but without crunching."
|
||||
color = "#973800" // rgb: 151, 56, 0
|
||||
|
||||
datum/reagent/consumable/carrotjuice/on_mob_life(var/mob/living/M as mob)
|
||||
M.eye_blurry = max(M.eye_blurry-1 , 0)
|
||||
M.eye_blind = max(M.eye_blind-1 , 0)
|
||||
if(!data)
|
||||
data = 1
|
||||
switch(data)
|
||||
if(1 to 20)
|
||||
//nothing
|
||||
if(21 to INFINITY)
|
||||
if (prob(data-10))
|
||||
M.disabilities &= ~NEARSIGHTED
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/berryjuice
|
||||
name = "Berry Juice"
|
||||
id = "berryjuice"
|
||||
description = "A delicious blend of several different kinds of berries."
|
||||
color = "#863333" // rgb: 134, 51, 51
|
||||
|
||||
datum/reagent/consumable/poisonberryjuice
|
||||
name = "Poison Berry Juice"
|
||||
id = "poisonberryjuice"
|
||||
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
|
||||
color = "#863353" // rgb: 134, 51, 83
|
||||
|
||||
datum/reagent/consumable/poisonberryjuice/on_mob_life(var/mob/living/M as mob)
|
||||
M.adjustToxLoss(1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/watermelonjuice
|
||||
name = "Watermelon Juice"
|
||||
id = "watermelonjuice"
|
||||
description = "Delicious juice made from watermelon."
|
||||
color = "#863333" // rgb: 134, 51, 51
|
||||
|
||||
datum/reagent/consumable/lemonjuice
|
||||
name = "Lemon Juice"
|
||||
id = "lemonjuice"
|
||||
description = "This juice is VERY sour."
|
||||
color = "#863333" // rgb: 175, 175, 0
|
||||
|
||||
datum/reagent/consumable/banana
|
||||
name = "Banana Juice"
|
||||
id = "banana"
|
||||
description = "The raw essence of a banana. HONK"
|
||||
color = "#863333" // rgb: 175, 175, 0
|
||||
|
||||
datum/reagent/consumable/banana/on_mob_life(var/mob/living/M as mob)
|
||||
if( ( istype(M, /mob/living/carbon/human) && M.job in list("Clown") ) || istype(M, /mob/living/carbon/monkey) )
|
||||
M.heal_organ_damage(1,1)
|
||||
..()
|
||||
|
||||
datum/reagent/consumable/nothing
|
||||
name = "Nothing"
|
||||
id = "nothing"
|
||||
description = "Absolutely nothing."
|
||||
|
||||
datum/reagent/consumable/nothing/on_mob_life(var/mob/living/M as mob)
|
||||
if(istype(M, /mob/living/carbon/human) && M.job in list("Mime"))
|
||||
M.heal_organ_damage(1,1)
|
||||
..()
|
||||
|
||||
datum/reagent/consumable/potato_juice
|
||||
name = "Potato Juice"
|
||||
id = "potato"
|
||||
description = "Juice of the potato. Bleh."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/milk
|
||||
name = "Milk"
|
||||
id = "milk"
|
||||
description = "An opaque white liquid produced by the mammary glands of mammals."
|
||||
color = "#DFDFDF" // rgb: 223, 223, 223
|
||||
|
||||
datum/reagent/consumable/milk/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getBruteLoss() && prob(20))
|
||||
M.heal_organ_damage(1,0)
|
||||
if(holder.has_reagent("capsaicin"))
|
||||
holder.remove_reagent("capsaicin", 2)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/soymilk
|
||||
name = "Soy Milk"
|
||||
id = "soymilk"
|
||||
description = "An opaque white liquid made from soybeans."
|
||||
color = "#DFDFC7" // rgb: 223, 223, 199
|
||||
|
||||
datum/reagent/consumable/soymilk/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getBruteLoss() && prob(20))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/cream
|
||||
name = "Cream"
|
||||
id = "cream"
|
||||
description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?"
|
||||
color = "#DFD7AF" // rgb: 223, 215, 175
|
||||
|
||||
datum/reagent/consumable/cream/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getBruteLoss() && prob(20))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/coffee
|
||||
name = "Coffee"
|
||||
id = "coffee"
|
||||
description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
|
||||
color = "#482000" // rgb: 72, 32, 0
|
||||
nutriment_factor = 0
|
||||
|
||||
datum/reagent/consumable/coffee/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = max(0,M.sleeping - 2)
|
||||
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (25 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
if(holder.has_reagent("frostoil"))
|
||||
holder.remove_reagent("frostoil", 5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/tea
|
||||
name = "Tea"
|
||||
id = "tea"
|
||||
description = "Tasty black tea, it has antioxidants, it's good for you!"
|
||||
color = "#101000" // rgb: 16, 16, 0
|
||||
nutriment_factor = 0
|
||||
|
||||
datum/reagent/consumable/tea/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-2)
|
||||
M.drowsyness = max(0,M.drowsyness-1)
|
||||
M.jitteriness = max(0,M.jitteriness-3)
|
||||
M.sleeping = max(0,M.sleeping-1)
|
||||
if(M.getToxLoss() && prob(20))
|
||||
M.adjustToxLoss(-1)
|
||||
if (M.bodytemperature < 310) //310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (20 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/icecoffee
|
||||
name = "Iced Coffee"
|
||||
id = "icecoffee"
|
||||
description = "Coffee and ice, refreshing and cool."
|
||||
color = "#102838" // rgb: 16, 40, 56
|
||||
nutriment_factor = 0
|
||||
|
||||
datum/reagent/consumable/icecoffee/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/icetea
|
||||
name = "Iced Tea"
|
||||
id = "icetea"
|
||||
description = "No relation to a certain rap artist/ actor."
|
||||
color = "#104038" // rgb: 16, 64, 56
|
||||
nutriment_factor = 0
|
||||
|
||||
datum/reagent/consumable/icetea/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-2)
|
||||
M.drowsyness = max(0,M.drowsyness-1)
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
if(M.getToxLoss() && prob(20))
|
||||
M.adjustToxLoss(-1)
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/space_cola
|
||||
name = "Cola"
|
||||
id = "cola"
|
||||
description = "A refreshing beverage."
|
||||
color = "#100800" // rgb: 16, 8, 0
|
||||
|
||||
datum/reagent/consumable/space_cola/on_mob_life(var/mob/living/M as mob)
|
||||
M.drowsyness = max(0,M.drowsyness-5)
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/nuka_cola
|
||||
name = "Nuka Cola"
|
||||
id = "nuka_cola"
|
||||
description = "Cola, cola never changes."
|
||||
color = "#100800" // rgb: 16, 8, 0
|
||||
|
||||
datum/reagent/consumable/nuka_cola/on_mob_life(var/mob/living/M as mob)
|
||||
M.Jitter(20)
|
||||
M.druggy = max(M.druggy, 30)
|
||||
M.dizziness +=5
|
||||
M.drowsyness = 0
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
M.status_flags |= GOTTAGOFAST
|
||||
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/spacemountainwind
|
||||
name = "Space Mountain Wind"
|
||||
id = "spacemountainwind"
|
||||
description = "Blows right through you like a space wind."
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
datum/reagent/consumable/spacemountainwind/on_mob_life(var/mob/living/M as mob)
|
||||
M.drowsyness = max(0,M.drowsyness-7)
|
||||
M.sleeping = max(0,M.sleeping-1)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/dr_gibb
|
||||
name = "Dr. Gibb"
|
||||
id = "dr_gibb"
|
||||
description = "A delicious blend of 42 different flavours"
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
|
||||
datum/reagent/consumable/dr_gibb/on_mob_life(var/mob/living/M as mob)
|
||||
M.drowsyness = max(0,M.drowsyness-6)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/space_up
|
||||
name = "Space-Up"
|
||||
id = "space_up"
|
||||
description = "Tastes like a hull breach in your mouth."
|
||||
color = "#00FF00" // rgb: 0, 255, 0
|
||||
|
||||
datum/reagent/consumable/space_up/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (8 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/lemon_lime
|
||||
name = "Lemon Lime"
|
||||
description = "A tangy substance made of 0.5% natural citrus!"
|
||||
id = "lemon_lime"
|
||||
color = "#8CFF00" // rgb: 135, 255, 0
|
||||
|
||||
datum/reagent/consumable/lemon_lime/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (8 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/sodawater
|
||||
name = "Soda Water"
|
||||
id = "sodawater"
|
||||
description = "A can of club soda. Why not make a scotch and soda?"
|
||||
color = "#619494" // rgb: 97, 148, 148
|
||||
|
||||
datum/reagent/consumable/sodawater/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/tonic
|
||||
name = "Tonic Water"
|
||||
id = "tonic"
|
||||
description = "It tastes strange but at least the quinine keeps the Space Malaria at bay."
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
|
||||
datum/reagent/consumable/tonic/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = max(0,M.sleeping-2)
|
||||
if (M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/ice
|
||||
name = "Ice"
|
||||
id = "ice"
|
||||
description = "Frozen water, your dentist wouldn't like you chewing this."
|
||||
reagent_state = SOLID
|
||||
color = "#619494" // rgb: 97, 148, 148
|
||||
|
||||
datum/reagent/consumable/ice/on_mob_life(var/mob/living/M as mob)
|
||||
M.bodytemperature -= 5 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/soy_latte
|
||||
name = "Soy Latte"
|
||||
id = "soy_latte"
|
||||
description = "A nice and tasty beverage while you are reading your hippie books."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
datum/reagent/consumable/soy_latte/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = 0
|
||||
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
if(M.getBruteLoss() && prob(20))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/cafe_latte
|
||||
name = "Cafe Latte"
|
||||
id = "cafe_latte"
|
||||
description = "A nice, strong and tasty beverage while you are reading."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
datum/reagent/consumable/cafe_latte/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = max(0,M.dizziness-5)
|
||||
M.drowsyness = max(0,M.drowsyness-3)
|
||||
M.sleeping = 0
|
||||
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
M.Jitter(5)
|
||||
if(M.getBruteLoss() && prob(20))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/doctor_delight
|
||||
name = "The Doctor's Delight"
|
||||
id = "doctorsdelight"
|
||||
description = "A gulp a day keeps the MediBot away. That's probably for the best."
|
||||
color = "#FF8CFF" // rgb: 255, 140, 255
|
||||
|
||||
datum/reagent/consumable/doctor_delight/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.getOxyLoss() && prob(80))
|
||||
M.adjustOxyLoss(-2)
|
||||
if(M.getBruteLoss() && prob(80))
|
||||
M.heal_organ_damage(2,0)
|
||||
if(M.getFireLoss() && prob(80))
|
||||
M.heal_organ_damage(0,2)
|
||||
if(M.getToxLoss() && prob(80))
|
||||
M.adjustToxLoss(-2)
|
||||
if(M.dizziness !=0)
|
||||
M.dizziness = max(0,M.dizziness-15)
|
||||
if(M.confused !=0)
|
||||
M.confused = max(0,M.confused - 5)
|
||||
holder.remove_reagent(id, metabolization_rate/M.metabolism_efficiency)
|
||||
return
|
||||
|
||||
|
||||
//////////////////////////////////////////////The ten friggen million reagents that get you drunk//////////////////////////////////////////////
|
||||
|
||||
datum/reagent/consumable/atomicbomb
|
||||
name = "Atomic Bomb"
|
||||
id = "atomicbomb"
|
||||
description = "Nuclear proliferation never tasted so good."
|
||||
color = "#666300" // rgb: 102, 99, 0
|
||||
|
||||
datum/reagent/consumable/atomicbomb/on_mob_life(var/mob/living/M as mob)
|
||||
M.druggy = max(M.druggy, 50)
|
||||
M.confused = max(M.confused+2,0)
|
||||
M.Dizzy(10)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.stuttering += 3
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
switch(data)
|
||||
if(51 to 200)
|
||||
M.sleeping += 1
|
||||
if(201 to INFINITY)
|
||||
M.sleeping += 1
|
||||
M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/gargle_blaster
|
||||
name = "Pan-Galactic Gargle Blaster"
|
||||
id = "gargleblaster"
|
||||
description = "Whoah, this stuff looks volatile!"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
|
||||
datum/reagent/consumable/gargle_blaster/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
M.dizziness +=6
|
||||
if(data >= 15 && data <45)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.stuttering += 3
|
||||
else if(data >= 45 && prob(50) && data <55)
|
||||
M.confused = max(M.confused+3,0)
|
||||
else if(data >=55)
|
||||
M.druggy = max(M.druggy, 55)
|
||||
else if(data >=200)
|
||||
M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/neurotoxin
|
||||
name = "Neurotoxin"
|
||||
id = "neurotoxin"
|
||||
description = "A strong neurotoxin that puts the subject into a death-like state."
|
||||
color = "#2E2E61" // rgb: 46, 46, 97
|
||||
|
||||
datum/reagent/consumable/neurotoxin/on_mob_life(var/mob/living/carbon/M as mob)
|
||||
M.weakened = max(M.weakened, 3)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
M.dizziness +=6
|
||||
if(data >= 15 && data <45)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.stuttering += 3
|
||||
else if(data >= 45 && prob(50) && data <55)
|
||||
M.confused = max(M.confused+3,0)
|
||||
else if(data >=55)
|
||||
M.druggy = max(M.druggy, 55)
|
||||
else if(data >=200)
|
||||
M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/hippies_delight
|
||||
name = "Hippie's Delight"
|
||||
id = "hippiesdelight"
|
||||
description = "You just don't get it maaaan."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
nutriment_factor = 0
|
||||
metabolization_rate = 0.2 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/consumable/hippies_delight/on_mob_life(var/mob/living/M as mob)
|
||||
M.druggy = max(M.druggy, 50)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
switch(data)
|
||||
if(1 to 5)
|
||||
if (!M.stuttering) M.stuttering = 1
|
||||
M.Dizzy(10)
|
||||
if(prob(10)) M.emote(pick("twitch","giggle"))
|
||||
if(5 to 10)
|
||||
if (!M.stuttering) M.stuttering = 1
|
||||
M.Jitter(20)
|
||||
M.Dizzy(20)
|
||||
M.druggy = max(M.druggy, 45)
|
||||
if(prob(20)) M.emote(pick("twitch","giggle"))
|
||||
if (10 to 200)
|
||||
if (!M.stuttering) M.stuttering = 1
|
||||
M.Jitter(40)
|
||||
M.Dizzy(40)
|
||||
M.druggy = max(M.druggy, 60)
|
||||
if(prob(30)) M.emote(pick("twitch","giggle"))
|
||||
if(200 to INFINITY)
|
||||
if (!M.stuttering) M.stuttering = 1
|
||||
M.Jitter(60)
|
||||
M.Dizzy(60)
|
||||
M.druggy = max(M.druggy, 75)
|
||||
if(prob(40)) M.emote(pick("twitch","giggle"))
|
||||
if(prob(30)) M.adjustToxLoss(2)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
|
||||
#undef REM
|
||||
@@ -0,0 +1,388 @@
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
//Food Reagents
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// Part of the food code. Also is where all the food
|
||||
// condiments, additives, and such go.
|
||||
|
||||
|
||||
datum/reagent/consumable
|
||||
name = "Consumable"
|
||||
id = "consumable"
|
||||
var/nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/consumable/on_mob_life(var/mob/living/M as mob)
|
||||
M.nutrition += nutriment_factor
|
||||
holder.remove_reagent(src.id, metabolization_rate)
|
||||
|
||||
datum/reagent/consumable/nutriment
|
||||
name = "Nutriment"
|
||||
id = "nutriment"
|
||||
description = "All the vitamins, minerals, and carbohydrates the body needs in pure form."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 15 * REAGENTS_METABOLISM
|
||||
color = "#664330" // rgb: 102, 67, 48
|
||||
|
||||
datum/reagent/consumable/nutriment/on_mob_life(var/mob/living/M as mob)
|
||||
if(prob(50))
|
||||
M.heal_organ_damage(1,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/vitamin
|
||||
name = "Vitamin"
|
||||
id = "vitamin"
|
||||
description = "All the best vitamins, minerals, and carbohydrates the body needs in pure form."
|
||||
reagent_state = SOLID
|
||||
color = "#664330" // rgb: 102, 67, 48
|
||||
|
||||
datum/reagent/consumable/vitamin/on_mob_life(var/mob/living/M as mob)
|
||||
if(prob(50))
|
||||
M.heal_organ_damage(1,1)
|
||||
if(M.satiety < 600)
|
||||
M.satiety += 20
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/sugar
|
||||
name = "Sugar"
|
||||
id = "sugar"
|
||||
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFFFF" // rgb: 255, 255, 255
|
||||
nutriment_factor = 10 * REAGENTS_METABOLISM
|
||||
metabolization_rate = 2 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/consumable/sugar/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.satiety > -200)
|
||||
M.satiety -= 20 //eating sugar makes you more hungry over time by making your hunger drop faster.
|
||||
M.nutrition += max(((NUTRITION_LEVEL_FED + 50) - M.nutrition )/100, 0) * nutriment_factor // sugar doesn't help your hunger if your stomach is nearly full
|
||||
holder.remove_reagent(src.id, metabolization_rate)
|
||||
|
||||
datum/reagent/consumable/virus_food
|
||||
name = "Virus Food"
|
||||
id = "virusfood"
|
||||
description = "A mixture of water and milk. Virus cells can use this mixture to reproduce."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
color = "#899613" // rgb: 137, 150, 19
|
||||
|
||||
datum/reagent/consumable/soysauce
|
||||
name = "Soysauce"
|
||||
id = "soysauce"
|
||||
description = "A salty sauce made from the soy plant."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
color = "#792300" // rgb: 121, 35, 0
|
||||
|
||||
datum/reagent/consumable/ketchup
|
||||
name = "Ketchup"
|
||||
id = "ketchup"
|
||||
description = "Ketchup, catsup, whatever. It's tomato paste."
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#731008" // rgb: 115, 16, 8
|
||||
|
||||
|
||||
datum/reagent/consumable/capsaicin
|
||||
name = "Capsaicin Oil"
|
||||
id = "capsaicin"
|
||||
description = "This is what makes chilis hot."
|
||||
color = "#B31008" // rgb: 179, 16, 8
|
||||
|
||||
datum/reagent/consumable/capsaicin/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
switch(data)
|
||||
if(1 to 15)
|
||||
M.bodytemperature += 5 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(holder.has_reagent("frostoil"))
|
||||
holder.remove_reagent("frostoil", 5)
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature += rand(5,20)
|
||||
if(15 to 25)
|
||||
M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature += rand(10,20)
|
||||
if(25 to INFINITY)
|
||||
M.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature += rand(15,20)
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/condensedcapsaicin
|
||||
name = "Condensed Capsaicin"
|
||||
id = "condensedcapsaicin"
|
||||
description = "A chemical agent used for self-defense and in police work."
|
||||
color = "#B31008" // rgb: 179, 16, 8
|
||||
|
||||
datum/reagent/consumable/condensedcapsaicin/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living/carbon/human) && !istype(M, /mob/living/carbon/monkey))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/victim = M
|
||||
if(method == TOUCH)
|
||||
//check for protection
|
||||
var/mouth_covered = 0
|
||||
var/eyes_covered = 0
|
||||
var/obj/item/safe_thing = null
|
||||
|
||||
//monkeys and humans can have masks
|
||||
if( victim.wear_mask )
|
||||
if ( victim.wear_mask.flags & MASKCOVERSEYES )
|
||||
eyes_covered = 1
|
||||
safe_thing = victim.wear_mask
|
||||
if ( victim.wear_mask.flags & MASKCOVERSMOUTH )
|
||||
mouth_covered = 1
|
||||
safe_thing = victim.wear_mask
|
||||
|
||||
//only humans can have helmets and glasses
|
||||
if(istype(victim, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = victim
|
||||
if( H.head )
|
||||
if ( H.head.flags & MASKCOVERSEYES )
|
||||
eyes_covered = 1
|
||||
safe_thing = H.head
|
||||
if ( H.head.flags & MASKCOVERSMOUTH )
|
||||
mouth_covered = 1
|
||||
safe_thing = H.head
|
||||
if(H.glasses)
|
||||
eyes_covered = 1
|
||||
if ( !safe_thing )
|
||||
safe_thing = H.glasses
|
||||
|
||||
//actually handle the pepperspray effects
|
||||
if ( eyes_covered && mouth_covered )
|
||||
return
|
||||
else if ( mouth_covered ) // Reduced effects if partially protected
|
||||
if(prob(5))
|
||||
victim.emote("scream")
|
||||
victim.eye_blurry = max(M.eye_blurry, 3)
|
||||
victim.eye_blind = max(M.eye_blind, 1)
|
||||
victim.confused = max(M.confused, 3)
|
||||
victim.damageoverlaytemp = 60
|
||||
victim.Weaken(3)
|
||||
victim.drop_item()
|
||||
return
|
||||
else if ( eyes_covered ) // Eye cover is better than mouth cover
|
||||
victim.eye_blurry = max(M.eye_blurry, 3)
|
||||
victim.damageoverlaytemp = 30
|
||||
return
|
||||
else // Oh dear :D
|
||||
if(prob(5))
|
||||
victim.emote("scream")
|
||||
victim.eye_blurry = max(M.eye_blurry, 5)
|
||||
victim.eye_blind = max(M.eye_blind, 2)
|
||||
victim.confused = max(M.confused, 6)
|
||||
victim.damageoverlaytemp = 75
|
||||
victim.Weaken(5)
|
||||
victim.drop_item()
|
||||
|
||||
datum/reagent/consumable/condensedcapsaicin/on_mob_life(var/mob/living/M as mob)
|
||||
if(prob(5))
|
||||
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>")
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/frostoil
|
||||
name = "Frost Oil"
|
||||
id = "frostoil"
|
||||
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
|
||||
color = "#B31008" // rgb: 139, 166, 233
|
||||
|
||||
datum/reagent/consumable/frostoil/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data) data = 1
|
||||
switch(data)
|
||||
if(1 to 15)
|
||||
M.bodytemperature -= 5 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(holder.has_reagent("capsaicin"))
|
||||
holder.remove_reagent("capsaicin", 5)
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature -= rand(5,20)
|
||||
if(15 to 25)
|
||||
M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature -= rand(10,20)
|
||||
if(25 to INFINITY)
|
||||
M.bodytemperature -= 15 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(prob(1))
|
||||
M.emote("shiver")
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature -= rand(15,20)
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/frostoil/reaction_turf(var/turf/simulated/T, var/volume)
|
||||
if(volume >= 5)
|
||||
for(var/mob/living/carbon/slime/M in T)
|
||||
M.adjustToxLoss(rand(15,30))
|
||||
//if(istype(T))
|
||||
// T.atmos_spawn_air(SPAWN_COLD)
|
||||
|
||||
datum/reagent/consumable/sodiumchloride
|
||||
name = "Table Salt"
|
||||
id = "sodiumchloride"
|
||||
description = "A salt made of sodium chloride. Commonly used to season food."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFFFF" // rgb: 255,255,255
|
||||
|
||||
datum/reagent/consumable/blackpepper
|
||||
name = "Black Pepper"
|
||||
id = "blackpepper"
|
||||
description = "A powder ground from peppercorns. *AAAACHOOO*"
|
||||
reagent_state = SOLID
|
||||
// no color (ie, black)
|
||||
|
||||
datum/reagent/consumable/coco
|
||||
name = "Coco Powder"
|
||||
id = "coco"
|
||||
description = "A fatty, bitter paste made from coco beans."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/hot_coco
|
||||
name = "Hot Chocolate"
|
||||
id = "hot_coco"
|
||||
description = "Made with love! And coco beans."
|
||||
nutriment_factor = 3 * REAGENTS_METABOLISM
|
||||
color = "#403010" // rgb: 64, 48, 16
|
||||
|
||||
datum/reagent/consumable/hot_coco/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/mushroomhallucinogen
|
||||
name = "Mushroom Hallucinogen"
|
||||
id = "mushroomhallucinogen"
|
||||
description = "A strong hallucinogenic drug derived from certain species of mushroom."
|
||||
color = "#E700E7" // rgb: 231, 0, 231
|
||||
metabolization_rate = 0.2 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/mushroomhallucinogen/on_mob_life(var/mob/living/M as mob)
|
||||
M.druggy = max(M.druggy, 30)
|
||||
if(!data)
|
||||
data = 1
|
||||
switch(data)
|
||||
if(1 to 5)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.Dizzy(5)
|
||||
if(prob(10))
|
||||
M.emote(pick("twitch","giggle"))
|
||||
if(5 to 10)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.Jitter(10)
|
||||
M.Dizzy(10)
|
||||
M.druggy = max(M.druggy, 35)
|
||||
if(prob(20))
|
||||
M.emote(pick("twitch","giggle"))
|
||||
if (10 to INFINITY)
|
||||
if (!M.stuttering)
|
||||
M.stuttering = 1
|
||||
M.Jitter(20)
|
||||
M.Dizzy(20)
|
||||
M.druggy = max(M.druggy, 40)
|
||||
if(prob(30))
|
||||
M.emote(pick("twitch","giggle"))
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/sprinkles
|
||||
name = "Sprinkles"
|
||||
id = "sprinkles"
|
||||
description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops."
|
||||
color = "#FF00FF" // rgb: 255, 0, 255
|
||||
|
||||
datum/reagent/consumable/sprinkles/on_mob_life(var/mob/living/M as mob)
|
||||
if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden"))
|
||||
M.heal_organ_damage(1,1)
|
||||
..()
|
||||
return
|
||||
..()
|
||||
|
||||
datum/reagent/consumable/cornoil
|
||||
name = "Corn Oil"
|
||||
id = "cornoil"
|
||||
description = "An oil derived from various types of corn."
|
||||
nutriment_factor = 20 * REAGENTS_METABOLISM
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/cornoil/reaction_turf(var/turf/simulated/T, var/volume)
|
||||
if (!istype(T))
|
||||
return
|
||||
src = null
|
||||
if(volume >= 3)
|
||||
T.MakeSlippery()
|
||||
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
||||
if(hotspot)
|
||||
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
|
||||
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
|
||||
lowertemp.react()
|
||||
T.assume_air(lowertemp)
|
||||
qdel(hotspot)
|
||||
|
||||
datum/reagent/consumable/enzyme
|
||||
name = "Universal Enzyme"
|
||||
id = "enzyme"
|
||||
description = "A universal enzyme used in the preperation of certain chemicals and foods."
|
||||
color = "#365E30" // rgb: 54, 94, 48
|
||||
|
||||
datum/reagent/consumable/dry_ramen
|
||||
name = "Dry Ramen"
|
||||
id = "dry_ramen"
|
||||
description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water."
|
||||
reagent_state = SOLID
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/hot_ramen
|
||||
name = "Hot Ramen"
|
||||
id = "hot_ramen"
|
||||
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/hot_ramen/on_mob_life(var/mob/living/M as mob)
|
||||
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(310, M.bodytemperature + (10 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/hell_ramen
|
||||
name = "Hell Ramen"
|
||||
id = "hell_ramen"
|
||||
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
color = "#302000" // rgb: 48, 32, 0
|
||||
|
||||
datum/reagent/consumable/hell_ramen/on_mob_life(var/mob/living/M as mob)
|
||||
M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/consumable/flour
|
||||
name = "flour"
|
||||
id = "flour"
|
||||
description = "This is what you rub all over yourself to pretend to be a ghost."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFFFF" // rgb: 0, 0, 0
|
||||
|
||||
datum/reagent/consumable/flour/reaction_turf(var/turf/T, var/volume)
|
||||
src = null
|
||||
if(!istype(T, /turf/space))
|
||||
new /obj/effect/decal/cleanable/flour(T)
|
||||
|
||||
datum/reagent/consumable/cherryjelly
|
||||
name = "Cherry Jelly"
|
||||
id = "cherryjelly"
|
||||
description = "Totally the best. Only to be spread on foods with excellent lateral symmetry."
|
||||
color = "#801E28" // rgb: 128, 30, 40
|
||||
|
||||
|
||||
@@ -0,0 +1,399 @@
|
||||
|
||||
#define REM REAGENTS_EFFECT_MULTIPLIER
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
// MEDICINE REAGENTS
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// where all the reagents related to medicine go.
|
||||
|
||||
datum/reagent/medicine
|
||||
name = "Medicine"
|
||||
id = "medicine"
|
||||
|
||||
datum/reagent/medicine/on_mob_life(var/mob/living/M as mob)
|
||||
holder.remove_reagent(src.id, metabolization_rate / M.metabolism_efficiency) //medicine reagents stay longer if you have a better metabolism
|
||||
|
||||
datum/reagent/medicine/ethylredoxrazine // FUCK YOU, ALCOHOL
|
||||
name = "Ethylredoxrazine"
|
||||
id = "ethylredoxrazine"
|
||||
description = "A powerful oxidizer that reacts with ethanol."
|
||||
reagent_state = SOLID
|
||||
color = "#605048" // rgb: 96, 80, 72
|
||||
|
||||
datum/reagent/medicine/ethylredoxrazine/on_mob_life(var/mob/living/M as mob)
|
||||
M.dizziness = 0
|
||||
M.drowsyness = 0
|
||||
M.stuttering = 0
|
||||
M.confused = 0
|
||||
M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 1*REM, 0, 1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/lipozine
|
||||
name = "Lipozine" // The anti-nutriment.
|
||||
id = "lipozine"
|
||||
description = "A chemical compound that causes a powerful fat-burning reaction."
|
||||
color = "#BBEDA4" // rgb: 187, 237, 164
|
||||
|
||||
datum/reagent/medicine/lipozine/on_mob_life(var/mob/living/M as mob)
|
||||
M.nutrition -= 10 * REAGENTS_METABOLISM
|
||||
M.overeatduration = 0
|
||||
if(M.nutrition < 0)//Prevent from going into negatives.
|
||||
M.nutrition = 0
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/hyperzine
|
||||
name = "Hyperzine"
|
||||
id = "hyperzine"
|
||||
description = "Hyperzine is a highly effective, long lasting, muscle stimulant."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/medicine/hyperzine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
if(prob(5))
|
||||
M.emote(pick("twitch","blink_r","shiver"))
|
||||
M.status_flags |= GOTTAGOFAST
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/leporazine
|
||||
name = "Leporazine"
|
||||
id = "leporazine"
|
||||
description = "Leporazine can be use to stabilize an individuals body temperature."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/leporazine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.bodytemperature > 310)
|
||||
M.bodytemperature = max(310, M.bodytemperature - (40 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
else if(M.bodytemperature < 311)
|
||||
M.bodytemperature = min(310, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
..()
|
||||
|
||||
datum/reagent/medicine/inaprovaline
|
||||
name = "Inaprovaline"
|
||||
id = "inaprovaline"
|
||||
description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/medicine/inaprovaline/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.losebreath >= 10)
|
||||
M.losebreath = max(10, M.losebreath-5)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/ryetalyn
|
||||
name = "Ryetalyn"
|
||||
id = "ryetalyn"
|
||||
description = "Ryetalyn can cure all genetic abnomalities."
|
||||
reagent_state = SOLID
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/ryetalyn/on_mob_life(var/mob/living/M as mob)
|
||||
|
||||
var/needs_update = M.mutations.len > 0
|
||||
M.mutations = list()
|
||||
M.disabilities = 0
|
||||
M.sdisabilities = 0
|
||||
M.jitteriness = 0
|
||||
|
||||
// Might need to update appearance for hulk etc.
|
||||
if(needs_update && ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.update_mutations()
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/kelotane
|
||||
name = "Kelotane"
|
||||
id = "kelotane"
|
||||
description = "Kelotane is a drug used to treat burns."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/kelotane/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.heal_organ_damage(0,2*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/dermaline
|
||||
name = "Dermaline"
|
||||
id = "dermaline"
|
||||
description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/dermaline/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD) //THE GUY IS **DEAD**! BEREFT OF ALL LIFE HE RESTS IN PEACE etc etc. He does NOT metabolise shit anymore, god DAMN
|
||||
M.heal_organ_damage(0,3*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/dexalin
|
||||
name = "Dexalin"
|
||||
id = "dexalin"
|
||||
description = "Dexalin is used in the treatment of oxygen deprivation."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/dexalin/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.adjustOxyLoss(-2*REM)
|
||||
if(holder.has_reagent("lexorin"))
|
||||
holder.remove_reagent("lexorin", 2*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/dexalinp
|
||||
name = "Dexalin Plus"
|
||||
id = "dexalinp"
|
||||
description = "Dexalin Plus is used in the treatment of oxygen deprivation. Its highly effective."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/dexalinp/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.adjustOxyLoss(-M.getOxyLoss())
|
||||
if(holder.has_reagent("lexorin"))
|
||||
holder.remove_reagent("lexorin", 2*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/tricordrazine
|
||||
name = "Tricordrazine"
|
||||
id = "tricordrazine"
|
||||
description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/tricordrazine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
if(M.getOxyLoss() && prob(80))
|
||||
M.adjustOxyLoss(-1*REM)
|
||||
if(M.getBruteLoss() && prob(80))
|
||||
M.heal_organ_damage(1*REM,0)
|
||||
if(M.getFireLoss() && prob(80))
|
||||
M.heal_organ_damage(0,1*REM)
|
||||
if(M.getToxLoss() && prob(80))
|
||||
M.adjustToxLoss(-1*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/anti_toxin
|
||||
name = "Anti-Toxin (Dylovene)"
|
||||
id = "anti_toxin"
|
||||
description = "Dylovene is a broad-spectrum antitoxin."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/anti_toxin/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.reagents.remove_all_type(/datum/reagent/toxin, 1*REM, 0, 1)
|
||||
M.drowsyness = max(M.drowsyness-2*REM, 0)
|
||||
M.hallucination = max(0, M.hallucination - 5*REM)
|
||||
M.adjustToxLoss(-2*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/adminordrazine //An OP chemical for admins
|
||||
name = "Adminordrazine"
|
||||
id = "adminordrazine"
|
||||
description = "It's magic. We don't have to explain it."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/adminordrazine/on_mob_life(var/mob/living/carbon/M as mob)
|
||||
if(!M) M = holder.my_atom ///This can even heal dead people.
|
||||
M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1)
|
||||
M.setCloneLoss(0)
|
||||
M.setOxyLoss(0)
|
||||
M.radiation = 0
|
||||
M.heal_organ_damage(5,5)
|
||||
M.adjustToxLoss(-5)
|
||||
M.hallucination = 0
|
||||
M.setBrainLoss(0)
|
||||
M.disabilities = 0
|
||||
M.sdisabilities = 0
|
||||
M.eye_blurry = 0
|
||||
M.eye_blind = 0
|
||||
M.SetWeakened(0)
|
||||
M.SetStunned(0)
|
||||
M.SetParalysis(0)
|
||||
M.silent = 0
|
||||
M.dizziness = 0
|
||||
M.drowsyness = 0
|
||||
M.stuttering = 0
|
||||
M.confused = 0
|
||||
M.sleeping = 0
|
||||
M.jitteriness = 0
|
||||
for(var/datum/disease/D in M.viruses)
|
||||
if(D.severity == NONTHREAT)
|
||||
continue
|
||||
D.spread_text = "Remissive"
|
||||
D.stage--
|
||||
if(D.stage < 1)
|
||||
D.cure()
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/synaptizine
|
||||
name = "Synaptizine"
|
||||
id = "synaptizine"
|
||||
description = "Synaptizine is used to treat various diseases."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/synaptizine/on_mob_life(var/mob/living/M as mob)
|
||||
M.drowsyness = max(M.drowsyness-5, 0)
|
||||
M.AdjustParalysis(-1)
|
||||
M.AdjustStunned(-1)
|
||||
M.AdjustWeakened(-1)
|
||||
if(holder.has_reagent("mindbreaker"))
|
||||
holder.remove_reagent("mindbreaker", 5)
|
||||
M.hallucination = max(0, M.hallucination - 10)
|
||||
if(prob(60))
|
||||
M.adjustToxLoss(1)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/hyronalin
|
||||
name = "Hyronalin"
|
||||
id = "hyronalin"
|
||||
description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/hyronalin/on_mob_life(var/mob/living/M as mob)
|
||||
M.radiation = max(M.radiation-3*REM,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/arithrazine
|
||||
name = "Arithrazine"
|
||||
id = "arithrazine"
|
||||
description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/arithrazine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.radiation = max(M.radiation-7*REM,0)
|
||||
M.adjustToxLoss(-1*REM)
|
||||
if(prob(15))
|
||||
M.take_organ_damage(1, 0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/alkysine
|
||||
name = "Alkysine"
|
||||
id = "alkysine"
|
||||
description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/alkysine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M != DEAD)
|
||||
M.adjustBrainLoss(-3*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/imidazoline
|
||||
name = "Imidazoline"
|
||||
id = "imidazoline"
|
||||
description = "Heals eye damage."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/imidazoline/on_mob_life(var/mob/living/M as mob)
|
||||
M.eye_blurry = max(M.eye_blurry-5 , 0)
|
||||
M.eye_blind = max(M.eye_blind-5 , 0)
|
||||
M.disabilities &= ~NEARSIGHTED
|
||||
M.eye_stat = max(M.eye_stat-5, 0)
|
||||
// M.sdisabilities &= ~1 Replaced by eye surgery
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/inacusiate
|
||||
name = "Inacusiate"
|
||||
id = "inacusiate"
|
||||
description = "Heals ear damage."
|
||||
color = "#6600FF" // rgb: 100, 165, 255
|
||||
|
||||
datum/reagent/medicine/inacusiate/on_mob_life(var/mob/living/M as mob)
|
||||
M.ear_damage = 0
|
||||
M.ear_deaf = 0
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/bicaridine
|
||||
name = "Bicaridine"
|
||||
id = "bicaridine"
|
||||
description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/bicaridine/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
M.heal_organ_damage(2*REM,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/cryoxadone
|
||||
name = "Cryoxadone"
|
||||
id = "cryoxadone"
|
||||
description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/cryoxadone/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD && M.bodytemperature < 170)
|
||||
M.adjustCloneLoss(-1)
|
||||
M.adjustOxyLoss(-3)
|
||||
M.heal_organ_damage(3,3)
|
||||
M.adjustToxLoss(-3)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/clonexadone
|
||||
name = "Clonexadone"
|
||||
id = "clonexadone"
|
||||
description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' clones that get ejected early when used in conjunction with a cryo tube."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
|
||||
datum/reagent/medicine/clonexadone/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD && M.bodytemperature < 170)
|
||||
M.adjustCloneLoss(-3)
|
||||
M.adjustOxyLoss(-3)
|
||||
M.heal_organ_damage(3,3)
|
||||
M.adjustToxLoss(-3)
|
||||
M.status_flags &= ~DISFIGURED
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/rezadone
|
||||
name = "Rezadone"
|
||||
id = "rezadone"
|
||||
description = "A powder derived from fish toxin, this substance can effectively treat cellular damage in humanoids, though excessive consumption has side effects."
|
||||
reagent_state = SOLID
|
||||
color = "#669900" // rgb: 102, 153, 0
|
||||
|
||||
datum/reagent/medicine/rezadone/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
switch(data)
|
||||
if(1 to 15)
|
||||
M.adjustCloneLoss(-1)
|
||||
M.heal_organ_damage(1,1)
|
||||
if(15 to 35)
|
||||
M.adjustCloneLoss(-2)
|
||||
M.heal_organ_damage(2,1)
|
||||
M.status_flags &= ~DISFIGURED
|
||||
if(35 to INFINITY)
|
||||
M.adjustToxLoss(1)
|
||||
M.Dizzy(5)
|
||||
M.Jitter(5)
|
||||
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/medicine/spaceacillin
|
||||
name = "Spaceacillin"
|
||||
id = "spaceacillin"
|
||||
description = "An all-purpose antiviral agent."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
|
||||
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
|
||||
#undef REM
|
||||
@@ -0,0 +1,411 @@
|
||||
|
||||
#define REM REAGENTS_EFFECT_MULTIPLIER
|
||||
|
||||
|
||||
//////////////////////////Poison stuff (Toxins & Acids)///////////////////////
|
||||
|
||||
datum/reagent/toxin
|
||||
name = "Toxin"
|
||||
id = "toxin"
|
||||
description = "A toxic chemical."
|
||||
color = "#CF3600" // rgb: 207, 54, 0
|
||||
var/toxpwr = 1.5
|
||||
|
||||
datum/reagent/toxin/on_mob_life(var/mob/living/M as mob)
|
||||
if(toxpwr)
|
||||
M.adjustToxLoss(toxpwr*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/amatoxin
|
||||
name = "Amatoxin"
|
||||
id = "amatoxin"
|
||||
description = "A powerful poison derived from certain species of mushroom."
|
||||
color = "#792300" // rgb: 121, 35, 0
|
||||
toxpwr = 1
|
||||
|
||||
datum/reagent/toxin/mutagen
|
||||
name = "Unstable mutagen"
|
||||
id = "mutagen"
|
||||
description = "Might cause unpredictable mutations. Keep away from children."
|
||||
color = "#13BC5E" // rgb: 19, 188, 94
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/mutagen/reaction_mob(var/mob/living/carbon/M, var/method=TOUCH, var/volume)
|
||||
if(!..())
|
||||
return
|
||||
if(!istype(M) || !M.dna)
|
||||
return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
|
||||
src = null
|
||||
if((method==TOUCH && prob(33)) || method==INGEST)
|
||||
randmuti(M)
|
||||
if(prob(98))
|
||||
randmutb(M)
|
||||
else
|
||||
randmutg(M)
|
||||
domutcheck(M, null)
|
||||
updateappearance(M)
|
||||
return
|
||||
|
||||
datum/reagent/toxin/mutagen/on_mob_life(var/mob/living/carbon/M)
|
||||
if(istype(M))
|
||||
M.apply_effect(5,IRRADIATE,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/plasma
|
||||
name = "Plasma"
|
||||
id = "plasma"
|
||||
description = "Plasma in its liquid form."
|
||||
color = "#DB2D08" // rgb: 219, 45, 8
|
||||
toxpwr = 3
|
||||
|
||||
datum/reagent/toxin/plasma/on_mob_life(var/mob/living/M as mob)
|
||||
if(holder.has_reagent("inaprovaline"))
|
||||
holder.remove_reagent("inaprovaline", 2*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/plasma/reaction_obj(var/obj/O, var/volume)
|
||||
src = null
|
||||
/*if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg/slime))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/egg/slime/egg = O
|
||||
if (egg.grown)
|
||||
egg.Hatch()*/
|
||||
if((!O) || (!volume)) return 0
|
||||
O.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume)
|
||||
|
||||
datum/reagent/toxin/plasma/reaction_turf(var/turf/simulated/T, var/volume)
|
||||
src = null
|
||||
if(istype(T))
|
||||
T.atmos_spawn_air(SPAWN_TOXINS|SPAWN_20C, volume)
|
||||
return
|
||||
|
||||
datum/reagent/toxin/plasma/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel!
|
||||
if(!istype(M, /mob/living))
|
||||
return
|
||||
if(method == TOUCH)
|
||||
M.adjust_fire_stacks(volume / 5)
|
||||
return
|
||||
|
||||
datum/reagent/toxin/lexorin
|
||||
name = "Lexorin"
|
||||
id = "lexorin"
|
||||
description = "Lexorin temporarily stops respiration. Causes tissue damage."
|
||||
color = "#C8A5DC" // rgb: 200, 165, 220
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/lexorin/on_mob_life(var/mob/living/M as mob)
|
||||
if(M.stat != DEAD)
|
||||
if(prob(33))
|
||||
M.take_organ_damage(1*REM, 0)
|
||||
M.adjustOxyLoss(3)
|
||||
if(prob(20))
|
||||
M.emote("gasp")
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/slimejelly
|
||||
name = "Slime Jelly"
|
||||
id = "slimejelly"
|
||||
description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL."
|
||||
color = "#801E28" // rgb: 128, 30, 40
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/slimejelly/on_mob_life(var/mob/living/M as mob)
|
||||
if(prob(10))
|
||||
M << "<span class='danger'>Your insides are burning!</span>"
|
||||
M.adjustToxLoss(rand(20,60)*REM)
|
||||
else if(prob(40))
|
||||
M.heal_organ_damage(5*REM,0)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/cyanide
|
||||
name = "Cyanide"
|
||||
id = "cyanide"
|
||||
description = "A highly toxic chemical."
|
||||
color = "#CF3600" // rgb: 207, 54, 0
|
||||
toxpwr = 3
|
||||
|
||||
datum/reagent/toxin/cyanide/on_mob_life(var/mob/living/M as mob)
|
||||
M.adjustOxyLoss(3*REM)
|
||||
M.sleeping += 1
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/minttoxin
|
||||
name = "Mint Toxin"
|
||||
id = "minttoxin"
|
||||
description = "Useful for dealing with undesirable customers."
|
||||
color = "#CF3600" // rgb: 207, 54, 0
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/minttoxin/on_mob_life(var/mob/living/M as mob)
|
||||
if (FAT in M.mutations)
|
||||
M.gib()
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/carpotoxin
|
||||
name = "Carpotoxin"
|
||||
id = "carpotoxin"
|
||||
description = "A deadly neurotoxin produced by the dreaded spess carp."
|
||||
color = "#003333" // rgb: 0, 51, 51
|
||||
toxpwr = 2
|
||||
|
||||
datum/reagent/toxin/zombiepowder
|
||||
name = "Zombie Powder"
|
||||
id = "zombiepowder"
|
||||
description = "A strong neurotoxin that puts the subject into a death-like state."
|
||||
reagent_state = SOLID
|
||||
color = "#669900" // rgb: 102, 153, 0
|
||||
toxpwr = 0.5
|
||||
|
||||
datum/reagent/toxin/zombiepowder/on_mob_life(var/mob/living/carbon/M as mob)
|
||||
M.status_flags |= FAKEDEATH
|
||||
M.adjustOxyLoss(0.5*REM)
|
||||
M.Weaken(5)
|
||||
M.silent = max(M.silent, 5)
|
||||
M.tod = worldtime2text()
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/zombiepowder/Del()
|
||||
if(holder && ismob(holder.my_atom))
|
||||
var/mob/M = holder.my_atom
|
||||
M.status_flags &= ~FAKEDEATH
|
||||
..()
|
||||
|
||||
datum/reagent/toxin/mindbreaker
|
||||
name = "Mindbreaker Toxin"
|
||||
id = "mindbreaker"
|
||||
description = "A powerful hallucinogen. Not a thing to be messed with."
|
||||
color = "#B31008" // rgb: 139, 166, 233
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/mindbreaker/on_mob_life(var/mob/living/M)
|
||||
M.hallucination += 10
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/plantbgone
|
||||
name = "Plant-B-Gone"
|
||||
id = "plantbgone"
|
||||
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
|
||||
color = "#49002E" // rgb: 73, 0, 46
|
||||
toxpwr = 1
|
||||
|
||||
datum/reagent/toxin/plantbgone/reaction_obj(var/obj/O, var/volume)
|
||||
if(istype(O,/obj/structure/alien/weeds/))
|
||||
var/obj/structure/alien/weeds/alien_weeds = O
|
||||
alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
|
||||
alien_weeds.healthcheck()
|
||||
else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it
|
||||
qdel(O)
|
||||
else if(istype(O,/obj/effect/spacevine))
|
||||
var/obj/effect/spacevine/SV = O
|
||||
SV.on_chem_effect(src)
|
||||
|
||||
datum/reagent/toxin/plantbgone/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
src = null
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(2) // 4 toxic damage per application, doubled for some reason
|
||||
|
||||
datum/reagent/toxin/plantbgone/weedkiller
|
||||
name = "Weed Killer"
|
||||
id = "weedkiller"
|
||||
description = "A harmful toxic mixture to kill weeds. Do not ingest!"
|
||||
color = "#4B004B" // rgb: 75, 0, 75
|
||||
|
||||
|
||||
datum/reagent/toxin/pestkiller
|
||||
name = "Pest Killer"
|
||||
id = "pestkiller"
|
||||
description = "A harmful toxic mixture to kill pests. Do not ingest!"
|
||||
color = "#4B004B" // rgb: 75, 0, 75
|
||||
toxpwr = 1
|
||||
|
||||
datum/reagent/toxin/pestkiller/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
src = null
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!C.wear_mask) // If not wearing a mask
|
||||
C.adjustToxLoss(2) // 4 toxic damage per application, doubled for some reason
|
||||
|
||||
datum/reagent/toxin/stoxin
|
||||
name = "Sleep Toxin"
|
||||
id = "stoxin"
|
||||
description = "An effective hypnotic used to treat insomnia."
|
||||
color = "#E895CC" // rgb: 232, 149, 204
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/stoxin/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data) data = 1
|
||||
switch(data)
|
||||
if(1 to 12)
|
||||
if(prob(5)) M.emote("yawn")
|
||||
if(12 to 15)
|
||||
M.eye_blurry = max(M.eye_blurry, 10)
|
||||
if(15 to 25)
|
||||
M.drowsyness = max(M.drowsyness, 20)
|
||||
if(25 to INFINITY)
|
||||
M.Paralyse(20)
|
||||
M.drowsyness = max(M.drowsyness, 30)
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
datum/reagent/toxin/spore
|
||||
name = "Spore Toxin"
|
||||
id = "spore"
|
||||
description = "A toxic spore cloud which blocks vision when ingested."
|
||||
color = "#9ACD32"
|
||||
toxpwr = 0.5
|
||||
|
||||
datum/reagent/toxin/spore/on_mob_life(var/mob/living/M as mob)
|
||||
M.damageoverlaytemp = 60
|
||||
M.eye_blurry = max(M.eye_blurry, 3)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
datum/reagent/toxin/spore_burning
|
||||
name = "Burning Spore Toxin"
|
||||
id = "spore_burning"
|
||||
description = "A burning spore cloud."
|
||||
color = "#9ACD32"
|
||||
toxpwr = 0.5
|
||||
|
||||
datum/reagent/toxin/spore_burning/on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M.adjust_fire_stacks(2)
|
||||
M.IgniteMob()
|
||||
|
||||
datum/reagent/toxin/chloralhydrate
|
||||
name = "Chloral Hydrate"
|
||||
id = "chloralhydrate"
|
||||
description = "A powerful sedative."
|
||||
reagent_state = SOLID
|
||||
color = "#000067" // rgb: 0, 0, 103
|
||||
toxpwr = 0
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/toxin/chloralhydrate/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
data++
|
||||
switch(data)
|
||||
if(1 to 10)
|
||||
M.confused += 2
|
||||
M.drowsyness += 2
|
||||
if(10 to 50)
|
||||
M.sleeping += 1
|
||||
if(51 to INFINITY)
|
||||
M.sleeping += 1
|
||||
M.adjustToxLoss((data - 50)*REM)
|
||||
..()
|
||||
return
|
||||
|
||||
datum/reagent/toxin/beer2 //disguised as normal beer for use by emagged brobots
|
||||
name = "Beer"
|
||||
id = "beer2"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
datum/reagent/toxin/beer2/on_mob_life(var/mob/living/M as mob)
|
||||
if(!data)
|
||||
data = 1
|
||||
switch(data)
|
||||
if(1 to 50)
|
||||
M.sleeping += 1
|
||||
if(51 to INFINITY)
|
||||
M.sleeping += 1
|
||||
M.adjustToxLoss((data - 50)*REM)
|
||||
data++
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
|
||||
//ACID
|
||||
|
||||
|
||||
datum/reagent/toxin/acid
|
||||
name = "Sulphuric acid"
|
||||
id = "sacid"
|
||||
description = "A strong mineral acid with the molecular formula H2SO4."
|
||||
color = "#DB5008" // rgb: 219, 80, 8
|
||||
toxpwr = 1
|
||||
var/acidpwr = 10 //the amount of protection removed from the armour
|
||||
|
||||
datum/reagent/toxin/acid/reaction_mob(var/mob/living/carbon/C, var/method=TOUCH, var/volume)
|
||||
if(!istype(C))
|
||||
return
|
||||
if(method != TOUCH)
|
||||
if(!C.unacidable)
|
||||
C.take_organ_damage(min(6*toxpwr, volume * toxpwr))
|
||||
return
|
||||
|
||||
C.acid_act(acidpwr, toxpwr, volume)
|
||||
|
||||
datum/reagent/toxin/acid/reaction_obj(var/obj/O, var/volume)
|
||||
if(istype(O.loc, /mob)) //handled in human acid_act()
|
||||
return
|
||||
O.acid_act(acidpwr, toxpwr, volume)
|
||||
|
||||
datum/reagent/toxin/acid/polyacid
|
||||
name = "Polytrinic acid"
|
||||
id = "pacid"
|
||||
description = "Polytrinic acid is a an extremely corrosive chemical substance."
|
||||
color = "#8E18A9" // rgb: 142, 24, 169
|
||||
toxpwr = 2
|
||||
acidpwr = 20
|
||||
|
||||
datum/reagent/toxin/coffeepowder
|
||||
name = "Coffee Grounds"
|
||||
id = "coffeepowder"
|
||||
description = "Finely ground coffee beans, used to make coffee."
|
||||
reagent_state = SOLID
|
||||
color = "#5B2E0D" // rgb: 91, 46, 13
|
||||
toxpwr = 0.5
|
||||
|
||||
datum/reagent/toxin/teapowder
|
||||
name = "Ground Tea Leaves"
|
||||
id = "teapowder"
|
||||
description = "Finely shredded tea leaves, used for making tea."
|
||||
reagent_state = SOLID
|
||||
color = "#7F8400" // rgb: 127, 132, 0
|
||||
toxpwr = 0.5
|
||||
|
||||
datum/reagent/toxin/mutetoxin //the new zombie powder.
|
||||
name = "Mute Toxin"
|
||||
id = "mutetoxin"
|
||||
description = "A toxin that temporarily paralyzes the vocal cords."
|
||||
color = "#F0F8FF" // rgb: 240, 248, 255
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/mutetoxin/on_mob_life(mob/living/carbon/M)
|
||||
M.silent += REM + 1 //If this var is increased by one or less, it will have no effect since silent is decreased right after reagents are handled in Life(). Hence the + 1.
|
||||
..()
|
||||
|
||||
datum/reagent/toxin/staminatoxin
|
||||
name = "Tirizene"
|
||||
id = "tirizene"
|
||||
description = "A toxin that affects the stamina of a person when injected into the bloodstream."
|
||||
color = "#6E2828"
|
||||
data = 13
|
||||
toxpwr = 0
|
||||
|
||||
datum/reagent/toxin/staminatoxin/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustStaminaLoss(REM * data)
|
||||
data = max(data - 1, 3)
|
||||
..()
|
||||
|
||||
|
||||
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
|
||||
#undef REM
|
||||
@@ -31,7 +31,7 @@
|
||||
user.visible_message("<span class='notice'>[user] extracts [target]'s fat!</span>")
|
||||
target.overeatduration = 0 //patient is unfatted
|
||||
var/removednutriment = target.nutrition
|
||||
target.nutrition = 450
|
||||
target.nutrition = NUTRITION_LEVEL_WELL_FED
|
||||
removednutriment -= 450 //whatever was removed goes into the meat
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new
|
||||
newmeat.name = "fatty meat"
|
||||
|
||||
@@ -69,3 +69,4 @@ steelpoint = Game Master
|
||||
phil235 = Game Master
|
||||
xxnoob = Game Master
|
||||
tkdrg = Game Master
|
||||
thunder12345 = Game Master
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
author: Paprika
|
||||
delete-after: True
|
||||
|
||||
|
||||
changes:
|
||||
|
||||
- tweak: "Reverted security armor and helmets to the old (Grey) style of armor/helmets."
|
||||
|
||||
- tweak: "Updated security jumpsuits to be more consistent across officer/warden/HoS ranks."
|
||||
|
||||
- rscadd: "Added tactical armor and helmets to replace the largely unused bulletproof vest in the armory. This armor has higher bullet and explosive resistance than normal armor, and uses the previous, more military armor/helmet sprites."
|
||||
@@ -0,0 +1,6 @@
|
||||
author: Thunder12345
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Added a new FRAG-12 explosive shotgun shell, built from the unloaded technological shell, using tablecrafting. Constructed using an unloaded technological tech shell, 5 units sulphuric acid, 5 units polytrinic acid, 5 units glycerol, and requires a screwdriver."
|
||||
@@ -0,0 +1,10 @@
|
||||
author: phil235
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Change to the hunger system. Eating food with sugar temporarily worsens your nutrition drop rate. Eating too much sugar too quickly can make you temporarily unable to eat any sugary food. The nutritional effect of sugar depends on how hungry you are thus it cannot easily raise your nutrition level past well fed and is best used when hungry. Lots of sugar can make you a bit jittery at times. Eating food with vitamin (new reagent) counteracts the sugar effects and can give you temporary buffs when well fed: it lowers your chance to catch or spread viruses,it makes your body's metabolism more efficient that is it keeps healing reagents longer and evacuate toxins faster and reduces damage from radioactive reagents. Your metabolism gets less efficient if starving."
|
||||
- rscadd: "New hunger hud icons: starving, hungry, fed, well fed, full, fat."
|
||||
- rscadd: "Snack vending machine get a chef compartment that can be loaded with non-sugary food by hand or with a tray by anyone with kitchen access (unless you hack the machine with multitool or emag). The food can be unloaded by anyone, like regular snacks"
|
||||
- rscadd: "Cargo can get a nutritious pizza crate order for 60 points."
|
||||
- tweak: "Grown and cooked food gets some vitamin while junk food gets less nutriment and more sugar (only hot donkpocket and ramen don't have sugar)"
|
||||
- tweak: "The number of junk food in snack vending machine is lowered from 6 to 5 of each type."
|
||||
- bugfix: "Fixing not being able to load an omelette du fromage on a tray."
|
||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 220 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 39 KiB |