Misc Bug Removal (#2045)

vampire_powers.dm ~ vamps now know if they finished enthralling. Fixes #1705
utility.dm ~unconscious people cant feel things injected anymore. Fixes #606
security.dm ~7 days to play as sec now. Same with detective and warden. might need config option enabled. Fixes #1973
exodus-1.dm ~ removed useless circuit board. Fixes #1991
supplypacks.dm ~ Auxilllary Foensic tools crate spawns with a UV light now. Fixes #1936
tree_networking.dm ~ gave the malf AI more room to type things up. Also fixed typo. Fixes #1914
Made the viral infection outbreak say level 5 all the time so it matches up with sound file.
This commit is contained in:
Ron
2017-04-08 12:10:48 -04:00
committed by skull132
parent f849657a62
commit 97e8955445
8 changed files with 133 additions and 40 deletions

View File

@@ -51,7 +51,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/weapon/storage/box/swabs,
/obj/item/weapon/storage/box/swabs,
/obj/item/weapon/storage/box/slides,
/obj/item/weapon/reagent_containers/spray/luminol)
/obj/item/weapon/reagent_containers/spray/luminol,
/obj/item/device/uv_light)
cost = 30
containertype = /obj/structure/closet/crate
containername = "Auxiliary forensic tools"

View File

@@ -92,32 +92,89 @@
if(!ability_prechecks(user, price))
return
var/title = input("Select message title: ")
var/text = input("Select message text: ")
if(!title || !text || !ability_pay(user, price))
user << "Hack Aborted"
return
var/reporttitle
var/reportbody
var/reporttype = input(usr, "Choose whether to use a template or custom report.", "Create Command Report") in list("Template", "Custom", "Cancel")
switch(reporttype)
if("Template")
establish_db_connection(dbcon)
if (!dbcon.IsConnected())
src << "<span class='notice'>Unable to connect to the database.</span>"
return
var/DBQuery/query = dbcon.NewQuery("SELECT title, message FROM ss13_ccia_general_notice_list WHERE deleted_at IS NULL")
query.Execute()
log_ability_use(user, "advanced encryption hack")
var/list/template_names = list()
var/list/templates = list()
if(prob(50) && user.hack_can_fail)
user << "Hack Failed."
if(prob(5))
user.hack_fails ++
announce_hack_failure(user, "quantum message relay")
log_ability_use(user, "elite encryption hack (CRITFAIL - title: [title])")
while (query.NextRow())
template_names += query.item[1]
templates[query.item[1]] = query.item[2]
// Catch empty list
if (!templates.len)
src << "<span class='notice'>There are no templates in the database.</span>"
return
reporttitle = input(usr, "Please select a command report template.", "Create Command Report") in template_names
reportbody = templates[reporttitle]
if("Custom")
reporttitle = sanitizeSafe(input(usr, "Pick a title for the report.", "Title") as text|null)
if(!reporttitle)
reporttitle = "NanoTrasen Update"
reportbody = sanitize(input(usr, "Please enter anything you want. Anything. Serious.", "Body", "") as message|null, extra = 0)
if(!reportbody)
return
else
return
log_ability_use(user, "elite encryption hack (FAIL - title: [title])")
return
log_ability_use(user, "elite encryption hack (SUCCESS - title: [title])")
command_announcement.Announce(text, title)
for (var/obj/machinery/computer/communications/C in machines)
if(! (C.stat & (BROKEN|NOPOWER) ) )
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc )
P.name = "[command_name()] Update"
P.info = replacetext(text, "\n", "<br/>")
P.update_space(P.info)
P.update_icon()
if (reporttype == "Template")
sanitizeSafe(alert(usr, "Would you like it to appear as if CCIAMS made the report?",,"Yes","No"))
if ("Yes")
reportbody += "\n\n- CCIAMS, [commstation_name()]"
else
switch(alert("Should this be announced to the general population?",,"Yes","No"))
if("Yes")
if(!reporttitle || !reportbody || !ability_pay(user, price))
user << "Hack Aborted due to no title, no body message, or you do not have enough CPU for this action."
return
log_ability_use(user, "advanced encryption hack")
if(prob(50) && user.hack_can_fail)
user << "Hack Failed."
if(prob(5))
user.hack_fails ++
announce_hack_failure(user, "quantum message relay")
log_ability_use(user, "advanced encryption hack (CRITFAIL - title: [reporttitle])")
return
log_ability_use(user, "advanced encryption hack (FAIL - title: [reporttitle])")
return
log_ability_use(user, "advanced encryption hack (SUCCESS - title: [reporttitle])")
command_announcement.Announce("[reportbody]", reporttitle, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1);
if("No")
if(!reporttitle || !reportbody || !ability_pay(user, price))
user << "Hack Aborted due to no title, no body message, or you do not have enough CPU for this action."
return
log_ability_use(user, "advanced encryption hack")
if(prob(50) && user.hack_can_fail)
user << "Hack Failed."
if(prob(5))
user.hack_fails ++
announce_hack_failure(user, "quantum message relay")
log_ability_use(user, "advanced encryption hack (CRITFAIL - title: [reporttitle])")
return
log_ability_use(user, "advanced encryption hack (FAIL - title: [reporttitle])")
return
log_ability_use(user, "advanced encryption hack (SUCCESS - title: [reporttitle])")
world << "\red New [company_name] Update available at all communication consoles."
world << sound('sound/AI/commandreport.ogg')
post_comm_message(reporttitle, reportbody)
/datum/game_mode/malfunction/verb/elite_encryption_hack()
set category = "Software"
@@ -219,4 +276,4 @@
user.verbs += new/datum/game_mode/malfunction/verb/ai_destroy_station()
// END ABILITY VERBS
// END ABILITY VERBS

View File

@@ -680,7 +680,7 @@
T.mind.vampire.master = src
vampire.thralls += T
T << "<span class='notice'>You have been forced into a blood bond by [T.mind.vampire.master], and are thus their thrall. While a thrall may feel a myriad of emotions towards their master, ranging from fear, to hate, to love; the supernatural bond between them still forces the thrall to obey their master, and to listen to the master's commands.<br><br>You must obey your master's orders, you must protect them, you cannot harm them.</span>"
src << "<span class='notice'>You have completed the thralling process. They are now your slave and will obey your commands.</span>"
admin_attack_log(src, T, "enthralled [key_name(T)]", "was enthralled by [key_name(src)]", "successfully enthralled")
vampire.use_blood(150)

View File

@@ -62,7 +62,7 @@
economic_modifier = 5
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks)
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks)
minimal_player_age = 5
minimal_player_age = 7
equip(var/mob/living/carbon/human/H)
if(!H) return 0
@@ -106,7 +106,7 @@
economic_modifier = 5
access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels)
minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels)
minimal_player_age = 3
minimal_player_age = 7
equip(var/mob/living/carbon/human/H)
if(!H) return 0
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
@@ -153,7 +153,7 @@
economic_modifier = 4
access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks)
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_external_airlocks)
minimal_player_age = 3
minimal_player_age = 7
equip(var/mob/living/carbon/human/H)
if(!H) return 0
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)

View File

@@ -241,8 +241,12 @@
if(target_mob != H)
H << "<span class='danger'>You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].</span>"
target_mob << "<span class='danger'>You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.</span>"
target_mob.reagents.add_reagent(charge.display_name, chems_to_use)
if(target_mob.is_physically_disabled())
target_mob.reagents.add_reagent(charge.display_name, chems_to_use)
else
target_mob << "<span class='danger'>You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.</span>"
target_mob.reagents.add_reagent(charge.display_name, chems_to_use)
charge.charges -= chems_to_use
if(charge.charges < 0) charge.charges = 0

View File

@@ -21,16 +21,9 @@ datum/event/viral_infection/setup()
viruses += D
datum/event/viral_infection/announce()
var/level
if (severity == EVENT_LEVEL_MUNDANE)
return
else if (severity == EVENT_LEVEL_MODERATE)
level = pick("one", "two", "three", "four")
else
level = "five"
if (severity == EVENT_LEVEL_MAJOR || prob(60))
command_announcement.Announce("Confirmed outbreak of level [level] biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg')
command_announcement.Announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg')
datum/event/viral_infection/start()
if(!viruses.len) return

View File

@@ -0,0 +1,38 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Printer16
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "Vampires now know when they finished enthralling someone."
- bugfix: "The Auxilliary Forensics Tools crate now spawns with a UV light."
- bugfix: "A Malf AI's advanced encryption hack has been given a lot more space to work with."

View File

@@ -4941,7 +4941,7 @@
"bRa" = (/obj/item/weapon/aicard,/obj/item/weapon/aiModule/reset,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech)
"bRb" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/storage/tech)
"bRc" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/security/mining,/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/storage/tech)
"bRd" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech)
"bRd" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/message_monitor{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech)
"bRe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/mixing)
"bRf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing)
"bRg" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access = list(7)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/mixing)