diff --git a/LICENSE.txt b/COPYING similarity index 91% rename from LICENSE.txt rename to COPYING index 419cc18b370..5005fcd90f0 100644 --- a/LICENSE.txt +++ b/COPYING @@ -1,5 +1,5 @@ Baystation12 -Copyright (C) 2010-2012 Baystation12 and tgstation13. +Copyright (C) 2010-2013 Baystation12 and tgstation13. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,4 +12,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program. If not, see . \ No newline at end of file +along with this program. If not, see . diff --git a/README.txt b/README.md similarity index 73% rename from README.txt rename to README.md index 30c2d952667..d016900cc37 100644 --- a/README.txt +++ b/README.md @@ -1,12 +1,10 @@ -baystation12 +# baystation12 -Website: http://baystation12.net/ -Code: http://github.com/Baystation12/Baystation12/ -IRC: irc://irc.sorcery.net/bs12 +[Website](http://baystation12.net/) - [Code](http://github.com/Baystation12/Baystation12/) - [IRC](http://baystation12.net/forums/viewtopic.php?f=12&t=5088) -================================================================================ -INSTALLATION -================================================================================ +--- + +### INSTALLATION First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from http://www.byond.com/. Once you've done @@ -16,9 +14,9 @@ Open baystation12.dme by double-clicking it, open the Build menu, and click compile. This'll take a little while, and if everything's done right you'll get a message like this: -saving baystation12.dmb (DEBUG mode) - -baystation12.dmb - 0 errors, 0 warnings + saving baystation12.dmb (DEBUG mode) + + baystation12.dmb - 0 errors, 0 warnings If you see any errors or warnings, something has gone wrong - possibly a corrupt download or the files extracted wrong. @@ -38,7 +36,7 @@ You'll also want to edit admins.txt to remove the default admins and add your own. "Game Master" is the highest level of access, and the other recommended admin level for now is "Game Admin". The format is: -byondkey - Rank + byondkey - Rank where the BYOND key must be in lowercase and the admin rank must be properly capitalised. There are a bunch more admin ranks, but these two should be @@ -46,7 +44,7 @@ enough for most servers, assuming you have trustworthy admins. Additionally, you can set up moderators in moderators.txt, with this format: -byondkey + byondkey Moderators have access to player notes and a few other low-level commands. @@ -55,9 +53,9 @@ compiled baystation12.dmb file. Make sure to set the port to the one you specified in the config.txt, and set the Security box to 'Trusted'. Then press GO and the server should start up and be ready to join. -================================================================================ -UPDATING -================================================================================ +--- + +### UPDATING To update an existing installation, first back up your /config and /data folders as these store your server configuration, player preferences and banlist. @@ -68,19 +66,19 @@ install, overwriting when prompted except if we've specified otherwise, and recompile the game. Once you start the server up again, you should be running the new version. -================================================================================ -SQL Setup -================================================================================ +--- + +### 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 are coming soon, for now ask in our IRC channel. -================================================================================ -IRC Bot Setup -================================================================================ +--- -Included in the SVN is an IRC bot capable of relaying adminhelps to a specified +### IRC Bot Setup + +Included in the repo is an IRC bot capable of relaying adminhelps to a specified IRC channel/server (thanks to Skibiliano). Instructions for bot setup are -included in the /bot/ folder along with the bot/relay script itself. \ No newline at end of file +included in the /bot/ folder along with the bot/relay script itself. diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm index 590ee66b2f0..4d4c28d17ad 100644 --- a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm +++ b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm @@ -101,7 +101,11 @@ if("change_code") var/attempt_code = input("Re-enter the current EFTPOS access code", "Confirm old EFTPOS code") as num if(attempt_code == access_code) - access_code = input("Enter a new access code for this device", "Enter new EFTPOS code") as num + var/trycode = input("Enter a new access code for this device (4-6 digits, numbers only)", "Enter new EFTPOS code") as num + if(trycode >= 1000 && trycode <= 999999) + access_code = trycode + else + alert("That is not a valid code!") print_reference() else usr << "\icon[src]Incorrect code entered." @@ -124,7 +128,11 @@ if("trans_purpose") transaction_purpose = input("Enter reason for EFTPOS transaction", "Transaction purpose") if("trans_value") - transaction_amount = input("Enter amount for EFTPOS transaction", "Transaction amount") as num + var/try_num = input("Enter amount for EFTPOS transaction", "Transaction amount") as num + if(try_num < 0) + alert("That is not a valid amount!") + else + transaction_amount = try_num if("toggle_lock") if(transaction_locked) var/attempt_code = input("Enter EFTPOS access code", "Reset Transaction") as num diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm index 9578c3a2a3d..15aa916efe7 100644 --- a/code/WorkInProgress/Mini/ATM.dm +++ b/code/WorkInProgress/Mini/ATM.dm @@ -206,10 +206,12 @@ log transactions switch(href_list["choice"]) if("transfer") if(authenticated_account && linked_db) - var/target_account_number = text2num(href_list["target_acc_number"]) var/transfer_amount = text2num(href_list["funds_amount"]) - var/transfer_purpose = href_list["purpose"] - if(transfer_amount <= authenticated_account.money) + if(transfer_amount <= 0) + alert("That is not a valid amount.") + else if(transfer_amount <= authenticated_account.money) + var/target_account_number = text2num(href_list["target_acc_number"]) + var/transfer_purpose = href_list["purpose"] if(linked_db.charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount)) usr << "\icon[src]Funds transfer successful." authenticated_account.money -= transfer_amount @@ -284,7 +286,9 @@ log transactions previous_account_number = tried_account_num if("withdrawal") var/amount = max(text2num(href_list["funds_amount"]),0) - if(authenticated_account && amount > 0) + if(amount <= 0) + alert("That is not a valid amount.") + else if(authenticated_account && amount > 0) if(amount <= authenticated_account.money) playsound(src, 'chime.ogg', 50, 1) diff --git a/code/modules/admin/verbs/check_customitem_activity.dm b/code/modules/admin/verbs/check_customitem_activity.dm index a39ce0fd535..1bda56c6e58 100644 --- a/code/modules/admin/verbs/check_customitem_activity.dm +++ b/code/modules/admin/verbs/check_customitem_activity.dm @@ -55,7 +55,7 @@ var/inactive_keys = "None
" //run a query to get all ckeys inactive for over 2 months var/list/inactive_ckeys = list() if(ckeys_with_customitems.len) - var/DBQuery/query_inactive = dbcon.NewQuery("SELECT ckey, lastseen FROM erro_player WHERE datediff(Now(),lastseen) > 2") + var/DBQuery/query_inactive = dbcon.NewQuery("SELECT ckey, lastseen FROM erro_player WHERE datediff(Now(), lastseen) > 60") query_inactive.Execute() while(query_inactive.NextRow()) var/cur_ckey = query_inactive.item[1] diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 809225d596e..a905e5d90aa 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -385,13 +385,13 @@ item.layer = initial(item.layer) u_equip(item) update_icons() - //if(src.client) - //src.client.screen -= item - //item.loc = src.loc - - //if(istype(item, /obj/item)) - //item:dropped(src) // let it know it's been dropped + if (istype(usr, /mob/living/carbon/monkey)) //Check if a monkey is throwing. Modify/remove this line as required. + item.loc = src.loc + if(src.client) + src.client.screen -= item + if(istype(item, /obj/item)) + item:dropped(src) // let it know it's been dropped //actually throw it! if (item) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 94fc27ba8d8..de8f271c6c8 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -234,16 +234,12 @@ var/list/ai_list = list() /mob/living/silicon/ai/proc/ai_roster() set category = "AI Commands" set name = "Show Crew Manifest" - var/dat = "Crew RosterCrew Roster:

" - - var/list/L = list() - for (var/datum/data/record/t in data_core.general) - var/R = t.fields["name"] + " - " + t.fields["rank"] - L += R - for(var/R in sortList(L)) - dat += "[R]
" - dat += "" + var/dat + dat += "

Crew Manifest

" + if(data_core) + dat += data_core.get_manifest(0) // make it monochrome + dat += "
" src << browse(dat, "window=airoster") onclose(src, "airoster") @@ -743,4 +739,4 @@ var/list/ai_list = list() anchored = 1 return else - return ..() + return ..() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 139d65765b5..27d557c70cc 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -413,14 +413,9 @@ /mob/living/silicon/pai/proc/softwareManifest() var/dat = "" dat += "

Crew Manifest



" - var/list/L = list() - if(!isnull(data_core.general)) - for (var/datum/data/record/t in sortRecord(data_core.general)) - var/R = t.fields["name"] + " - " + t.fields["rank"] - L += R - for(var/R in sortList(L)) - dat += "[R]
" - dat += "" + if(data_core) + dat += data_core.get_manifest(0) // make it monochrome + dat += "
" return dat // Medical Records diff --git a/config/custom_items.txt b/config/custom_items.txt index 59569c31535..4963d5d4bc3 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -1,3 +1,4 @@ +asanadas: Book Berner: /obj/item/clothing/glasses/meson/fluff/book_berner_1 atomicdog92: Seth Sealis: /obj/item/clothing/suit/det_suit/fluff/leatherjack botanistpower: Walter Brooks: /obj/item/clothing/gloves/fluff/walter_brooks_1 bountylord13: Norah Briggs: /obj/item/clothing/head/welding/fluff/norah_briggs_1 @@ -8,8 +9,6 @@ compactninja: Lister Black: /obj/item/weapon/storage/pill_bottle/fluff/listermed crazy2455: Murad Hassim: /obj/item/clothing/gloves/fluff/murad_hassim_1 cubejackal: Barry Sharke: /obj/item/clothing/mask/fluff/electriccig daaneesh: Zelda Creedy: /obj/item/weapon/crowbar/fluff/zelda_creedy_1 -desiderium: Momiji Inubashiri: /obj/item/clothing/under/fluff/olddressuniform -desiderium: Rook Maudlin: /obj/item/clothing/suit/det_suit/fluff/retpolcoat, /obj/item/clothing/head/det_hat/fluff/retpolcap, /obj/item/clothing/under/det/fluff/retpoluniform deusdactyl: James Girard: /obj/item/clothing/head/secsoft/fluff/swatcap, /obj/item/clothing/suit/armor/vest/fluff/deus_blueshield donofnyc3: Oen'g Issek: /obj/item/weapon/melee/baton/fluff/oeng_baton eternal248: Maximilian Haynes: /obj/item/weapon/paper/certificate diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index 8a2d55463fe..99d62141ef1 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index 7d72ae6c9de..956a8d868c2 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ