diff --git a/.travis.yml b/.travis.yml index 1ee02d4bbee..e25b3495f45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,8 +18,8 @@ addons: env: global: - - BYOND_MAJOR="511" - - BYOND_MINOR="1385" + - BYOND_MAJOR="512" + - BYOND_MINOR="1454" - BYOND_MACRO_COUNT=4 matrix: - DM_MAPFILE="cyberiad" diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 766203f5330..a2ea8d3a23a 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -220,6 +220,16 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 5 job = list("Chief Medical Officer", "Medical Doctor", "Geneticist", "Psychiatrist", "Chemist", "Paramedic", "Coroner", "Virologist") +//Virology + +/datum/uplink_item/jobspecific/viral_injector + name = "Viral Injector" + desc = "A modified hypospray disguised as a functional pipette. The pipette can infect victims with viruses upon injection." + reference = "VI" + item = /obj/item/reagent_containers/dropper/precision/viral_injector + cost = 3 + job = list("Virologist") + /datum/uplink_item/jobspecific/cat_grenade name = "Feral Cat Delivery Grenade" desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight." diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 2d395da0dd0..3cabbac3e75 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -361,7 +361,7 @@ dat+= "Suit storage unit: Maintenance panel" dat+= "Maintenance panel controls
" dat+= "The panel is ridden with controls, button and meters, labeled in strange signs and symbols that
you cannot understand. Probably the manufactoring world's language.
Among other things, a few controls catch your eye.

" - dat+= text("A small dial with a arrow embroidered on it. It's pointing towards a gauge that reads [].
Turn towards []
",(uv_super ? "15nm" : "185nm"),(uv_super ? "185nm" : "15nm") ) + dat+= text("A small dial with an arrow embroidered on it. It's pointing towards a gauge that reads [].
Turn towards []
",(uv_super ? "15nm" : "185nm"),(uv_super ? "185nm" : "15nm") ) dat+= text("A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.
Press button",(safeties ? "GREEN" : "RED")) dat+= "

Close panel" else if(uv) //The thing is running its cauterisation cycle. You have to wait. diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 6ca2c4a1260..ebe2ac18324 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -551,10 +551,10 @@ update_flags |= M.AdjustEyeBlurry(-1, FALSE) update_flags |= M.AdjustEarDamage(-1, FALSE) if(prob(50)) - update_flags |= M.CureNearsighted(FALSE) + update_flags |= M.CureNearsighted() if(prob(30)) - update_flags |= M.CureBlind(FALSE) - update_flags |= M.SetEyeBlind(0, FALSE) + update_flags |= M.CureBlind() + update_flags |= M.SetEyeBlind(0) if(M.ear_damage <= 25) if(prob(30)) M.SetEarDeaf(0) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 6198313bf88..19fb197c077 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -108,4 +108,37 @@ icon_state = "pipette" amount_per_transfer_from_this = 1 possible_transfer_amounts = list(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1) - volume = 1 \ No newline at end of file + volume = 1 + +//Syndicate item. Virus transmitting mini hypospray +/obj/item/reagent_containers/dropper/precision/viral_injector + +/obj/item/reagent_containers/dropper/precision/viral_injector/attack(mob/living/M, mob/living/user, def_zone) + if(M.can_inject(user, 1)) + to_chat(user, "You stab [M] with the [src].") + if(reagents.total_volume && M.reagents) + var/list/injected = list() + for(var/datum/reagent/R in reagents.reagent_list) + injected += R.name + var/datum/reagent/blood/B = R + + if(istype(B) && B.data["viruses"]) + var/virList = list() + for(var/dis in B.data["viruses"]) + var/datum/disease/D = dis + var/virusData = D.name + var/english_symptoms = list() + var/datum/disease/advance/A = D + if(A) + for(var/datum/symptom/S in A.symptoms) + english_symptoms += S.name + virusData += " ([english_list(english_symptoms)])" + virList += virusData + var/str = english_list(virList) + add_attack_logs(user, M, "Infected with [str].") + + reagents.reaction(M, INGEST, reagents.total_volume) + reagents.trans_to(M, 1) + + var/contained = english_list(injected) + add_attack_logs(user, M, "Injected with [src] containing ([contained])") diff --git a/html/changelogs/AutoChangeLog-pr-9887.yml b/html/changelogs/AutoChangeLog-pr-9887.yml new file mode 100644 index 00000000000..de24ade3bfc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9887.yml @@ -0,0 +1,4 @@ +author: "Farie82" +delete-after: True +changes: + - rscadd: "Added the Viral Injector. A virologist specific traitor item that acts like a sleepy pen but can transfer viruses. It's disguised as a functional pipette." diff --git a/html/changelogs/AutoChangeLog-pr-9923.yml b/html/changelogs/AutoChangeLog-pr-9923.yml new file mode 100644 index 00000000000..e1454a356bd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9923.yml @@ -0,0 +1,4 @@ +author: "tigercat2000" +delete-after: True +changes: + - rscadd: "We're going 512 boisssssssssssssss" diff --git a/html/changelogs/AutoChangeLog-pr-9930.yml b/html/changelogs/AutoChangeLog-pr-9930.yml new file mode 100644 index 00000000000..59d74f4a395 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9930.yml @@ -0,0 +1,4 @@ +author: "Purpose" +delete-after: True +changes: + - spellcheck: "Fixes grammatical error in the suit storage unit" diff --git a/html/changelogs/AutoChangeLog-pr-9931.yml b/html/changelogs/AutoChangeLog-pr-9931.yml new file mode 100644 index 00000000000..9fcd5b314c0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9931.yml @@ -0,0 +1,4 @@ +author: "Farie82" +delete-after: True +changes: + - bugfix: "Oculine now updates the blindness status correctly" diff --git a/html/changelogs/AutoChangeLog-pr-9932.yml b/html/changelogs/AutoChangeLog-pr-9932.yml new file mode 100644 index 00000000000..00cf01edcd9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9932.yml @@ -0,0 +1,4 @@ +author: "Shazbot194" +delete-after: True +changes: + - bugfix: "all north facing in hand icons for flags." diff --git a/icons/mob/inhands/flags_lefthand.dmi b/icons/mob/inhands/flags_lefthand.dmi index c619b351106..e04ef0f52e8 100644 Binary files a/icons/mob/inhands/flags_lefthand.dmi and b/icons/mob/inhands/flags_lefthand.dmi differ diff --git a/icons/mob/inhands/flags_righthand.dmi b/icons/mob/inhands/flags_righthand.dmi index 84b4e2e8067..4c1619e487c 100644 Binary files a/icons/mob/inhands/flags_righthand.dmi and b/icons/mob/inhands/flags_righthand.dmi differ