diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm index f3160a3f8a5..7a00499be4f 100644 --- a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm +++ b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm @@ -70,7 +70,7 @@ D.name = "small parcel - 'EFTPOS access code'" /obj/item/device/eftpos/proc/reconnect_database() - for(var/obj/machinery/account_database/DB in machines) + for(var/obj/machinery/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' if(DB.z == src.z) linked_db = DB break diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm index a7c0544591b..97b056a2ca6 100644 --- a/code/WorkInProgress/Mini/ATM.dm +++ b/code/WorkInProgress/Mini/ATM.dm @@ -70,7 +70,7 @@ log transactions break /obj/machinery/atm/proc/reconnect_database() - for(var/obj/machinery/account_database/DB in machines) + for(var/obj/machinery/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines' if( DB.z == src.z && !(DB.stat & NOPOWER) && DB.activated ) linked_db = DB break diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 661f4c43b38..a4ef521d9d7 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -51,7 +51,7 @@ //This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character(). var/locked[] = list() - proc/get_manifest(monochrome) + proc/get_manifest(monochrome, OOC) var/list/heads = new() var/list/sec = new() var/list/eng = new() @@ -80,7 +80,15 @@ var/name = t.fields["name"] var/rank = t.fields["rank"] var/real_rank = t.fields["real_rank"] - isactive[name] = t.fields["p_stat"] + if(OOC) + var/active = 0 + for(var/mob/M in player_list) + if(M.real_name == name && M.client && M.client.inactivity <= 10 * 60 * 10) + active = 1 + break + isactive[name] = active ? "Active" : "Inactive" + else + isactive[name] = t.fields["p_stat"] //world << "[name]: [rank]" diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 9366cd00523..e73cfeb9422 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -389,7 +389,7 @@ var/list/sacrificed = list() var/chose_name = 0 for(var/obj/item/weapon/paper/P in this_rune.loc) if(P.info) - D.real_name = copytext(P.info, 1, MAX_NAME_LEN) + D.real_name = copytext(P.info, findtext(P.info,">")+1, findtext(P.info,"<",2) ) chose_name = 1 break if(!chose_name) diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 69519c585d1..7078d9df906 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -18,6 +18,7 @@ for(dir in list(NORTH,EAST,SOUTH,WEST)) computer = locate(/obj/machinery/computer/operating, get_step(src, dir)) if (computer) + computer.table = src break // spawn(100) //Wont the MC just call this process() before and at the 10 second mark anyway? // process() diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index accd7b7a683..f1a1f02db70 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -13,7 +13,8 @@ ..() for(dir in list(NORTH,EAST,SOUTH,WEST)) table = locate(/obj/machinery/optable, get_step(src, dir)) - if (!isnull(table)) + if (table) + table.computer = src break /obj/machinery/computer/operating/attack_ai(mob/user) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index b199c79c202..af52a4e7565 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -435,7 +435,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) if(href_list["set_channel_name"]) - src.channel_name = strip_html_simple(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", "")) + src.channel_name = sanitizeSQL(strip_html_simple(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))) while (findtext(src.channel_name," ") == 1) src.channel_name = copytext(src.channel_name,2,lentext(src.channel_name)+1) src.updateUsrDialog() diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 9ff9c68a5c3..c877084339b 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -484,6 +484,7 @@ return "[..()] [mode==1?"([locked||"Nothing"])":null] \[S|P\]" Topic(href, href_list) + ..() if(href_list["mode"]) mode = text2num(href_list["mode"]) send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index decfff21925..23d1e593dd0 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -12,8 +12,8 @@ icon_state = "pine_1" /obj/structure/flora/tree/pine/New() - icon_state = "pine_[rand(1, 3)]" ..() + icon_state = "pine_[rand(1, 3)]" /obj/structure/flora/tree/pine/xmas name = "xmas tree" @@ -29,8 +29,8 @@ icon_state = "tree_1" /obj/structure/flora/tree/dead/New() - icon_state = "tree_[rand(1, 6)]" ..() + icon_state = "tree_[rand(1, 6)]" //grass @@ -43,23 +43,23 @@ icon_state = "snowgrass1bb" /obj/structure/flora/grass/brown/New() - icon_state = "snowgrass[rand(1, 3)]bb" ..() + icon_state = "snowgrass[rand(1, 3)]bb" /obj/structure/flora/grass/green icon_state = "snowgrass1gb" /obj/structure/flora/grass/green/New() - icon_state = "snowgrass[rand(1, 3)]gb" ..() + icon_state = "snowgrass[rand(1, 3)]gb" /obj/structure/flora/grass/both icon_state = "snowgrassall1" /obj/structure/flora/grass/both/New() - icon_state = "snowgrassall[rand(1, 3)]" ..() + icon_state = "snowgrassall[rand(1, 3)]" //bushes @@ -70,8 +70,8 @@ anchored = 1 /obj/structure/flora/bush/New() - icon_state = "snowbush[rand(1, 6)]" ..() + icon_state = "snowbush[rand(1, 6)]" //newbushes @@ -82,110 +82,110 @@ anchored = 1 /obj/structure/flora/ausbushes/New() - icon_state = "firstbush_[rand(1, 4)]" ..() + icon_state = "firstbush_[rand(1, 4)]" /obj/structure/flora/ausbushes/reedbush icon_state = "reedbush_1" /obj/structure/flora/ausbushes/reedbush/New() - icon_state = "reedbush_[rand(1, 4)]" ..() + icon_state = "reedbush_[rand(1, 4)]" /obj/structure/flora/ausbushes/leafybush icon_state = "leafybush_1" /obj/structure/flora/ausbushes/leafybush/New() - icon_state = "leafybush_[rand(1, 3)]" ..() + icon_state = "leafybush_[rand(1, 3)]" /obj/structure/flora/ausbushes/palebush icon_state = "palebush_1" /obj/structure/flora/ausbushes/palebush/New() - icon_state = "palebush_[rand(1, 4)]" ..() + icon_state = "palebush_[rand(1, 4)]" /obj/structure/flora/ausbushes/stalkybush icon_state = "stalkybush_1" /obj/structure/flora/ausbushes/stalkybush/New() - icon_state = "stalkybush_[rand(1, 3)]" ..() + icon_state = "stalkybush_[rand(1, 3)]" /obj/structure/flora/ausbushes/grassybush icon_state = "grassybush_1" /obj/structure/flora/ausbushes/grassybush/New() - icon_state = "grassybush_[rand(1, 4)]" ..() + icon_state = "grassybush_[rand(1, 4)]" /obj/structure/flora/ausbushes/fernybush icon_state = "fernybush_1" /obj/structure/flora/ausbushes/fernybush/New() - icon_state = "fernybush_[rand(1, 3)]" ..() + icon_state = "fernybush_[rand(1, 3)]" /obj/structure/flora/ausbushes/sunnybush icon_state = "sunnybush_1" /obj/structure/flora/ausbushes/sunnybush/New() - icon_state = "sunnybush_[rand(1, 3)]" ..() + icon_state = "sunnybush_[rand(1, 3)]" /obj/structure/flora/ausbushes/genericbush icon_state = "genericbush_1" /obj/structure/flora/ausbushes/genericbush/New() - icon_state = "genericbush_[rand(1, 4)]" ..() + icon_state = "genericbush_[rand(1, 4)]" /obj/structure/flora/ausbushes/pointybush icon_state = "pointybush_1" /obj/structure/flora/ausbushes/pointybush/New() - icon_state = "pointybush_[rand(1, 4)]" ..() + icon_state = "pointybush_[rand(1, 4)]" /obj/structure/flora/ausbushes/lavendergrass icon_state = "lavendergrass_1" /obj/structure/flora/ausbushes/lavendergrass/New() - icon_state = "lavendergrass_[rand(1, 4)]" ..() + icon_state = "lavendergrass_[rand(1, 4)]" /obj/structure/flora/ausbushes/ywflowers icon_state = "ywflowers_1" /obj/structure/flora/ausbushes/ywflowers/New() - icon_state = "ywflowers_[rand(1, 3)]" ..() + icon_state = "ywflowers_[rand(1, 3)]" /obj/structure/flora/ausbushes/brflowers icon_state = "brflowers_1" /obj/structure/flora/ausbushes/brflowers/New() - icon_state = "brflowers_[rand(1, 3)]" ..() + icon_state = "brflowers_[rand(1, 3)]" /obj/structure/flora/ausbushes/ppflowers icon_state = "ppflowers_1" /obj/structure/flora/ausbushes/ppflowers/New() - icon_state = "ppflowers_[rand(1, 4)]" ..() + icon_state = "ppflowers_[rand(1, 4)]" /obj/structure/flora/ausbushes/sparsegrass icon_state = "sparsegrass_1" /obj/structure/flora/ausbushes/sparsegrass/New() - icon_state = "sparsegrass_[rand(1, 3)]" ..() + icon_state = "sparsegrass_[rand(1, 3)]" /obj/structure/flora/ausbushes/fullgrass icon_state = "fullgrass_1" /obj/structure/flora/ausbushes/fullgrass/New() - icon_state = "fullgrass_[rand(1, 3)]" - ..() \ No newline at end of file + ..() + icon_state = "fullgrass_[rand(1, 3)]" \ No newline at end of file diff --git a/code/modules/DetectiveWork/footprints_and_rag.dm b/code/modules/DetectiveWork/footprints_and_rag.dm index 6a1fd7abffe..eb4e2d3970a 100644 --- a/code/modules/DetectiveWork/footprints_and_rag.dm +++ b/code/modules/DetectiveWork/footprints_and_rag.dm @@ -23,6 +23,8 @@ volume = 5 can_be_placed_into = null +/obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob) + return /obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag) if(ismob(target) && target.reagents && reagents.total_volume) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index b9616b78ae6..f8a184f3c13 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -51,6 +51,10 @@ emp_act return -1 // complete projectile permutation + if(check_shields(P.damage, "the [P.name]")) + P.on_hit(src, 2) + return 2 + //BEGIN BOOK'S TASER NERF. if(istype(P, /obj/item/projectile/energy/electrode)) var/datum/organ/external/select_area = get_organ(def_zone) // We're checking the outside, buddy! @@ -66,11 +70,25 @@ emp_act apply_effect(P.agony,AGONY,0) flash_pain() src <<"\red You have been shot!" + del P + + var/obj/item/weapon/cloaking_device/C = locate((/obj/item/weapon/cloaking_device) in src) + if(C && C.active) + C.attack_self(src)//Should shut it off + update_icons() + src << "\blue Your [C.name] was disrupted!" + Stun(2) + + if(istype(equipped(),/obj/item/device/assembly/signaler)) + var/obj/item/device/assembly/signaler/signaler = equipped() + if(signaler.deadman && prob(80)) + src.visible_message("\red [src] triggers their deadman's switch!") + signaler.signal() + + return //END TASER NERF - if(check_shields(P.damage, "the [P.name]")) - P.on_hit(src, 2) - return 2 + return (..(P , def_zone)) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index ea35f3c0833..e808a608da9 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -407,7 +407,7 @@ proc/ViewManifest() var/dat = "
" dat += "