From 24a09bc9df3eded1b489db13a6d67283d9823935 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 16 Aug 2013 01:45:50 -0700 Subject: [PATCH 1/6] Possible fix for deadchat runtime. --- code/modules/mob/say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 9be3e84095..c454ce1d13 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -37,7 +37,7 @@ usr << "\red Speech is currently admin-disabled." return - if(!(client.prefs.toggles & CHAT_DEAD)) + if(client && !(client.prefs.toggles & CHAT_DEAD)) usr << "\red You have deadchat muted." return From 2bc8212d2a1d484154868ee98a0fdef4e4e7f329 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 16 Aug 2013 19:00:08 -0700 Subject: [PATCH 2/6] Fix for subtypes of X mob not being able to understand each other. --- code/modules/mob/say.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index c454ce1d13..567152b915 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -83,7 +83,7 @@ return 1 else if(isAI(src) && ispAI(other)) return 1 - else if (istype(other, src.type)) + else if (istype(other, src.type) || istype(src, other.type)) return 1 return 0 From 9c583488791776bde673f37ac1c0dcfa3529f289 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 17 Aug 2013 04:41:28 -0700 Subject: [PATCH 3/6] Holodeck exploit fix. --- code/game/machinery/computer/HolodeckControl.dm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index db320be293..50165bb36d 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -231,8 +231,10 @@ emergencyShutdown() ..() - /obj/machinery/computer/HolodeckControl/process() + for(var/item in holographic_items) // do this first, to make sure people don't take items out when power is down. + if(!(get_turf(item) in linkedholodeck)) + derez(item, 0) if(!..()) return @@ -256,13 +258,6 @@ T.ex_act(3) T.hotspot_expose(1000,500,1) - - for(var/item in holographic_items) - if(!(get_turf(item) in linkedholodeck)) - derez(item, 0) - - - /obj/machinery/computer/HolodeckControl/proc/derez(var/obj/obj , var/silent = 1) holographic_items.Remove(obj) From 21152fac09c8471ab8421b954f2476efb842bc88 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Fri, 16 Aug 2013 19:55:23 +0100 Subject: [PATCH 4/6] Moved every config file into an "example" directory, to help prevent git screwing with local testing environments. Details have been added to README.md. Signed-off-by: Mloc-Argent --- README.md | 6 +++++ config/README feedback.txt | 30 ------------------------- config/custom_items.txt | 0 config/custom_sprites.txt | 5 ----- config/{ => example}/access levels.txt | 0 config/{ => example}/admin_ranks.txt | 0 config/{ => example}/admins.txt | 0 config/{ => example}/alienwhitelist.txt | 0 config/{ => example}/config.txt | 0 config/example/custom_items.txt | 1 + config/example/custom_sprites.txt | 1 + config/{ => example}/dbconfig.txt | 0 config/{ => example}/forumdbconfig.txt | 0 config/{ => example}/game_options.txt | 0 config/{ => example}/jobs.txt | 0 config/{ => example}/moderators.txt | 0 config/{ => example}/motd.txt | 0 config/{ => example}/rules.html | 0 config/{ => example}/svndir.txt | 0 config/motd help.txt | 1 - 20 files changed, 8 insertions(+), 36 deletions(-) delete mode 100644 config/README feedback.txt delete mode 100644 config/custom_items.txt delete mode 100644 config/custom_sprites.txt rename config/{ => example}/access levels.txt (100%) rename config/{ => example}/admin_ranks.txt (100%) rename config/{ => example}/admins.txt (100%) rename config/{ => example}/alienwhitelist.txt (100%) rename config/{ => example}/config.txt (100%) create mode 100644 config/example/custom_items.txt create mode 100644 config/example/custom_sprites.txt rename config/{ => example}/dbconfig.txt (100%) rename config/{ => example}/forumdbconfig.txt (100%) rename config/{ => example}/game_options.txt (100%) rename config/{ => example}/jobs.txt (100%) rename config/{ => example}/moderators.txt (100%) rename config/{ => example}/motd.txt (100%) rename config/{ => example}/rules.html (100%) rename config/{ => example}/svndir.txt (100%) delete mode 100644 config/motd help.txt diff --git a/README.md b/README.md index 67e5156428..2c1859126c 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,12 @@ When you have done this, you'll need to recompile the code, but then it should w --- +### Configuration + +For a basic setup, simply copy every file from config/example to config. + +--- + ### SQL Setup The SQL backend for the library and stats tracking requires a MySQL server. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. More detailed setup instructions arecoming soon, for now ask in our IRC channel. diff --git a/config/README feedback.txt b/config/README feedback.txt deleted file mode 100644 index 00c504e2e4..0000000000 --- a/config/README feedback.txt +++ /dev/null @@ -1,30 +0,0 @@ -Create a databse at the same location where the server MySQL databse is. (as defined in config/dbconfig.txt under ADDRESS and PORT) It can be a separate database or the same one, as you wish. Create the following table in it: (name needs to remain as 'erro_feedback') - - -CREATE TABLE IF NOT EXISTS `erro_feedback` ( - - `id` int(11) NOT NULL AUTO_INCREMENT, - - `time` datetime NOT NULL, - - `round_id` int(8) NOT NULL, - - `var_name` varchar(32) NOT NULL, - - `var_value` int(16) DEFAULT NULL, - - `details` text, - - PRIMARY KEY (`id`) - -); - - - -Open the file config/dbconfig.txt and edit the following lines: - -FEEDBACK_DATABASE test - -FEEDBACK_LOGIN mylogin - -FEEDBACK_PASSWORD mypassword \ No newline at end of file diff --git a/config/custom_items.txt b/config/custom_items.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/config/custom_sprites.txt b/config/custom_sprites.txt deleted file mode 100644 index bb370589f5..0000000000 --- a/config/custom_sprites.txt +++ /dev/null @@ -1,5 +0,0 @@ -rowtree-Lucy -sydrec-SINA -ravensdale-Blunt -ravensdale-Skuld -serithi-REMNANT diff --git a/config/access levels.txt b/config/example/access levels.txt similarity index 100% rename from config/access levels.txt rename to config/example/access levels.txt diff --git a/config/admin_ranks.txt b/config/example/admin_ranks.txt similarity index 100% rename from config/admin_ranks.txt rename to config/example/admin_ranks.txt diff --git a/config/admins.txt b/config/example/admins.txt similarity index 100% rename from config/admins.txt rename to config/example/admins.txt diff --git a/config/alienwhitelist.txt b/config/example/alienwhitelist.txt similarity index 100% rename from config/alienwhitelist.txt rename to config/example/alienwhitelist.txt diff --git a/config/config.txt b/config/example/config.txt similarity index 100% rename from config/config.txt rename to config/example/config.txt diff --git a/config/example/custom_items.txt b/config/example/custom_items.txt new file mode 100644 index 0000000000..f4bb1a7028 --- /dev/null +++ b/config/example/custom_items.txt @@ -0,0 +1 @@ +ckey: name: /path/to/obj diff --git a/config/example/custom_sprites.txt b/config/example/custom_sprites.txt new file mode 100644 index 0000000000..db3930a4ae --- /dev/null +++ b/config/example/custom_sprites.txt @@ -0,0 +1 @@ +ckey-state \ No newline at end of file diff --git a/config/dbconfig.txt b/config/example/dbconfig.txt similarity index 100% rename from config/dbconfig.txt rename to config/example/dbconfig.txt diff --git a/config/forumdbconfig.txt b/config/example/forumdbconfig.txt similarity index 100% rename from config/forumdbconfig.txt rename to config/example/forumdbconfig.txt diff --git a/config/game_options.txt b/config/example/game_options.txt similarity index 100% rename from config/game_options.txt rename to config/example/game_options.txt diff --git a/config/jobs.txt b/config/example/jobs.txt similarity index 100% rename from config/jobs.txt rename to config/example/jobs.txt diff --git a/config/moderators.txt b/config/example/moderators.txt similarity index 100% rename from config/moderators.txt rename to config/example/moderators.txt diff --git a/config/motd.txt b/config/example/motd.txt similarity index 100% rename from config/motd.txt rename to config/example/motd.txt diff --git a/config/rules.html b/config/example/rules.html similarity index 100% rename from config/rules.html rename to config/example/rules.html diff --git a/config/svndir.txt b/config/example/svndir.txt similarity index 100% rename from config/svndir.txt rename to config/example/svndir.txt diff --git a/config/motd help.txt b/config/motd help.txt deleted file mode 100644 index b04ea27c83..0000000000 --- a/config/motd help.txt +++ /dev/null @@ -1 +0,0 @@ -Most valid html will work in motd.txt (excluding imgs) \ No newline at end of file From 5ec3524a89d65603f6ef6f8b1f11a173ba557bc8 Mon Sep 17 00:00:00 2001 From: Segrain Date: Sat, 17 Aug 2013 00:24:39 +0300 Subject: [PATCH 5/6] Lost-in-merge fix, again. --- maps/tgstation2.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 5eb379712d..ad0b1bb01c 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -1554,7 +1554,7 @@ "aDT" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/gateway) "aDU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/gateway) "aDV" = (/obj/structure/table,/obj/item/device/radio/off{pixel_y = 6},/obj/item/device/radio/off{pixel_x = 6; pixel_y = 4},/obj/item/device/radio/off{pixel_x = -6; pixel_y = 4},/obj/item/device/radio/off,/turf/simulated/floor,/area/gateway) -"aDW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/machinery/recharger{pixel_y = 29},/obj/structure/sign/biohazard{pixel_x = 32},/turf/simulated/floor,/area/gateway) +"aDW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/obj/structure/sign/biohazard{pixel_x = 32},/turf/simulated/floor,/area/gateway) "aDX" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aDY" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aDZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) From 2ea03c09252b40c6383f5e17becc67316ba2eacf Mon Sep 17 00:00:00 2001 From: Segrain Date: Sat, 17 Aug 2013 00:26:27 +0300 Subject: [PATCH 6/6] Fix for #3535. --- code/modules/organs/organ_external.dm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index b71d12f5df..9390d96218 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -467,25 +467,29 @@ organ= new /obj/item/weapon/organ/l_arm(owner.loc, owner) if(LEG_RIGHT) if(status & ORGAN_ROBOT) - organ = new /obj/item/robot_parts/l_leg(owner.loc) + organ = new /obj/item/robot_parts/r_leg(owner.loc) else organ= new /obj/item/weapon/organ/r_leg(owner.loc, owner) if(LEG_LEFT) if(status & ORGAN_ROBOT) - organ = new /obj/item/robot_parts/r_leg(owner.loc) + organ = new /obj/item/robot_parts/l_leg(owner.loc) else organ= new /obj/item/weapon/organ/l_leg(owner.loc, owner) if(HAND_RIGHT) - organ= new /obj/item/weapon/organ/r_hand(owner.loc, owner) + if(!(status & ORGAN_ROBOT)) + organ= new /obj/item/weapon/organ/r_hand(owner.loc, owner) owner.u_equip(owner.gloves) if(HAND_LEFT) - organ= new /obj/item/weapon/organ/l_hand(owner.loc, owner) + if(!(status & ORGAN_ROBOT)) + organ= new /obj/item/weapon/organ/l_hand(owner.loc, owner) owner.u_equip(owner.gloves) if(FOOT_RIGHT) - organ= new /obj/item/weapon/organ/r_foot/(owner.loc, owner) + if(!(status & ORGAN_ROBOT)) + organ= new /obj/item/weapon/organ/r_foot/(owner.loc, owner) owner.u_equip(owner.shoes) if(FOOT_LEFT) - organ = new /obj/item/weapon/organ/l_foot(owner.loc, owner) + if(!(status & ORGAN_ROBOT)) + organ = new /obj/item/weapon/organ/l_foot(owner.loc, owner) owner.u_equip(owner.shoes) if(organ) destspawn = 1