mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Implements github suggestions
Among others: - TXT helpfile is now HTML helpfile - Lots of gremmer changes - Some adjustments
This commit is contained in:
@@ -19,10 +19,10 @@
|
|||||||
/datum/malf_hardware/apu_gen
|
/datum/malf_hardware/apu_gen
|
||||||
name = "APU Generator"
|
name = "APU Generator"
|
||||||
desc = "Auxiliary Power Unit that will keep you operational even without external power. Has to be manually activated. When APU is operational most abilities will be unavailable, and ability research will temporarily stop."
|
desc = "Auxiliary Power Unit that will keep you operational even without external power. Has to be manually activated. When APU is operational most abilities will be unavailable, and ability research will temporarily stop."
|
||||||
driver = new/datum/game_mode/malfunction/verb/ai_toggle_apu()
|
driver = /datum/game_mode/malfunction/verb/ai_toggle_apu
|
||||||
|
|
||||||
/datum/malf_hardware/apu_gen/get_examine_desc()
|
/datum/malf_hardware/apu_gen/get_examine_desc()
|
||||||
var/msg = "It seems to have some sort of power generator attached to it's core."
|
var/msg = "It seems to have some sort of power generator attached to its core."
|
||||||
if(owner.hardware_integrity() < 50)
|
if(owner.hardware_integrity() < 50)
|
||||||
msg += "<span class='warning'> It seems to be too damaged to function properly.</span>"
|
msg += "<span class='warning'> It seems to be too damaged to function properly.</span>"
|
||||||
else if(owner.APU_power)
|
else if(owner.APU_power)
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
desc = "Secondary coprocessor that increases amount of generated CPU power by 50%"
|
desc = "Secondary coprocessor that increases amount of generated CPU power by 50%"
|
||||||
|
|
||||||
/datum/malf_hardware/dual_cpu/get_examine_desc()
|
/datum/malf_hardware/dual_cpu/get_examine_desc()
|
||||||
return "It seems to have additional CPU connected to it's core."
|
return "It seems to have an additional CPU connected to it's core."
|
||||||
|
|
||||||
/datum/malf_hardware/dual_ram
|
/datum/malf_hardware/dual_ram
|
||||||
name = "Secondary Memory Bank"
|
name = "Secondary Memory Bank"
|
||||||
@@ -46,10 +46,10 @@
|
|||||||
/datum/malf_hardware/core_bomb
|
/datum/malf_hardware/core_bomb
|
||||||
name = "Self-Destruct Explosives"
|
name = "Self-Destruct Explosives"
|
||||||
desc = "High yield explosives are attached to your physical mainframe. This hardware comes with special driver that allows activation of these explosives. Timer is set to 15 seconds after manual activation. This is a doomsday device that will destroy both you and any intruders in your core."
|
desc = "High yield explosives are attached to your physical mainframe. This hardware comes with special driver that allows activation of these explosives. Timer is set to 15 seconds after manual activation. This is a doomsday device that will destroy both you and any intruders in your core."
|
||||||
driver = new/datum/game_mode/malfunction/verb/ai_self_destruct()
|
driver = /datum/game_mode/malfunction/verb/ai_self_destruct
|
||||||
|
|
||||||
/datum/malf_hardware/core_bomb/get_examine_desc()
|
/datum/malf_hardware/core_bomb/get_examine_desc()
|
||||||
return "<span class='warning'>It seems to have grey blocks of unknown substance and some circuitry connected to it's core. [owner.bombing_core ? "Red light is blinking on the circuit." : ""]</span>"
|
return "<span class='warning'>It seems to have grey blocks of unknown substance and some circuitry connected to it's core. [owner.bombing_core ? "A red light is blinking on the circuit." : ""]</span>"
|
||||||
|
|
||||||
/datum/malf_hardware/strong_turrets
|
/datum/malf_hardware/strong_turrets
|
||||||
name = "Turrets Focus Enhancer"
|
name = "Turrets Focus Enhancer"
|
||||||
@@ -61,12 +61,12 @@
|
|||||||
/datum/malf_hardware/strong_turrets/install()
|
/datum/malf_hardware/strong_turrets/install()
|
||||||
..()
|
..()
|
||||||
for(var/obj/machinery/turret/T in machines)
|
for(var/obj/machinery/turret/T in machines)
|
||||||
T.maxhealth += 30
|
T.maxhealth = round(initial(T.maxhealth) * 1.4)
|
||||||
T.shot_delay = 7 // Half of default time.
|
T.shot_delay = round(initial(T.shot_delay) / 2)
|
||||||
T.auto_repair = 1
|
T.auto_repair = 1
|
||||||
T.active_power_usage = 25000
|
T.active_power_usage = round(initial(T.active_power_usage) * 5)
|
||||||
for(var/obj/machinery/porta_turret/T in machines)
|
for(var/obj/machinery/porta_turret/T in machines)
|
||||||
T.maxhealth += 30
|
T.maxhealth = round(initial(T.maxhealth) * 1.4)
|
||||||
T.shot_delay = 7 // Half of default time.
|
T.shot_delay = round(initial(T.shot_delay) / 2)
|
||||||
T.auto_repair = 1
|
T.auto_repair = 1
|
||||||
T.active_power_usage = 25000
|
T.active_power_usage = round(initial(T.active_power_usage) * 5)
|
||||||
@@ -23,10 +23,13 @@
|
|||||||
user.bombing_core = 0
|
user.bombing_core = 0
|
||||||
return
|
return
|
||||||
|
|
||||||
var/choice = input("Really destroy core?") in list("YES", "NO")
|
var/choice = alert("Really destroy core?", "Core self-destruct", "YES", "NO")
|
||||||
if(choice != "YES")
|
if(choice != "YES")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if(!ability_prechecks(user, 0, 1))
|
||||||
|
return
|
||||||
|
|
||||||
user.bombing_core = 1
|
user.bombing_core = 1
|
||||||
|
|
||||||
user << "***** CORE SELF-DESTRUCT SEQUENCE ACTIVATED *****"
|
user << "***** CORE SELF-DESTRUCT SEQUENCE ACTIVATED *****"
|
||||||
@@ -79,9 +82,11 @@
|
|||||||
user.bombing_station = 0
|
user.bombing_station = 0
|
||||||
return
|
return
|
||||||
|
|
||||||
var/choice = input("Really destroy station?") in list("YES", "NO")
|
var/choice = alert("Really destroy station?", "Station self-destruct", "YES", "NO")
|
||||||
if(choice != "YES")
|
if(choice != "YES")
|
||||||
return
|
return
|
||||||
|
if(!ability_prechecks(user, 0, 0))
|
||||||
|
return
|
||||||
user << "***** STATION SELF-DESTRUCT SEQUENCE INITIATED *****"
|
user << "***** STATION SELF-DESTRUCT SEQUENCE INITIATED *****"
|
||||||
user << "Self-destructing in 2 minutes. Use this command again to abort."
|
user << "Self-destructing in 2 minutes. Use this command again to abort."
|
||||||
user.bombing_station = 1
|
user.bombing_station = 1
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
error("Hardware without description: [C]")
|
error("Hardware without description: [C]")
|
||||||
return
|
return
|
||||||
|
|
||||||
var/confirmation = input("[note] - Is this what you want?") in list("Yes", "No")
|
var/confirmation = alert("[note] - Is this what you want?", "Hardware selection", "Yes", "No")
|
||||||
if(confirmation != "Yes")
|
if(confirmation != "Yes")
|
||||||
user << "Selection cancelled. Use command again to select"
|
user << "Selection cancelled. Use command again to select"
|
||||||
return
|
return
|
||||||
@@ -65,9 +65,9 @@
|
|||||||
set desc = "Opens help window with overview of available hardware, software and other important information."
|
set desc = "Opens help window with overview of available hardware, software and other important information."
|
||||||
var/mob/living/silicon/ai/user = usr
|
var/mob/living/silicon/ai/user = usr
|
||||||
|
|
||||||
var/help = file2text("ingame_manuals/malf_ai.txt")
|
var/help = file2text("ingame_manuals/malf_ai.html")
|
||||||
if(!help)
|
if(!help)
|
||||||
help = "Error loading help (file /ingame_manuals/malf_ai.txt is probably missing). Please report this to server administration staff."
|
help = "Error loading help (file /ingame_manuals/malf_ai.html is probably missing). Please report this to server administration staff."
|
||||||
|
|
||||||
user << browse(help, "window=malf_ai_help;size=600x500")
|
user << browse(help, "window=malf_ai_help;size=600x500")
|
||||||
|
|
||||||
@@ -151,13 +151,13 @@
|
|||||||
var/fulltext = ""
|
var/fulltext = ""
|
||||||
switch(user.hack_fails)
|
switch(user.hack_fails)
|
||||||
if(1)
|
if(1)
|
||||||
fulltext = "We have detected hack attempt into your [text]. The intruder failed to access anything of importance, but disconnected before we could complete our traces."
|
fulltext = "We have detected a hack attempt into your [text]. The intruder failed to access anything of importance, but disconnected before we could complete our traces."
|
||||||
if(2)
|
if(2)
|
||||||
fulltext = "We have detected another hack attempt. It was targeting [text]. The intruder almost gained control of the system, so we had to disconnect them. We partially finished trace and it seems to be originating either from the station, or it's immediate vicinity."
|
fulltext = "We have detected another hack attempt. It was targeting [text]. The intruder almost gained control of the system, so we had to disconnect them. We partially finished our trace and it seems to be originating either from the station, or its immediate vicinity."
|
||||||
if(3)
|
if(3)
|
||||||
fulltext = "Another hack attempt has been detected, this time targeting [text]. We are certain the intruder entered the network via terminal located somewhere on the station."
|
fulltext = "Another hack attempt has been detected, this time targeting [text]. We are certain the intruder entered the network via a terminal located somewhere on the station."
|
||||||
if(4)
|
if(4)
|
||||||
fulltext = "We have finished our traces and it seems the recent hack attempts are originating from your AI system. We reccomend investigation."
|
fulltext = "We have finished our traces and it seems the recent hack attempts are originating from your AI system. We recommend investigation."
|
||||||
else
|
else
|
||||||
fulltext = "Another hack attempt has been detected, targeting [text]. The source still seems to be your AI system."
|
fulltext = "Another hack attempt has been detected, targeting [text]. The source still seems to be your AI system."
|
||||||
|
|
||||||
@@ -183,6 +183,8 @@
|
|||||||
for(var/mob/living/silicon/robot/RB in mob_list)
|
for(var/mob/living/silicon/robot/RB in mob_list)
|
||||||
if(istype(RB, /mob/living/silicon/robot/drone))
|
if(istype(RB, /mob/living/silicon/robot/drone))
|
||||||
continue
|
continue
|
||||||
|
if(RB in A.connected_robots)
|
||||||
|
continue
|
||||||
L.Add(RB)
|
L.Add(RB)
|
||||||
return L
|
return L
|
||||||
|
|
||||||
@@ -197,5 +199,7 @@
|
|||||||
|
|
||||||
var/list/L = list()
|
var/list/L = list()
|
||||||
for(var/mob/living/silicon/ai/AT in mob_list)
|
for(var/mob/living/silicon/ai/AT in mob_list)
|
||||||
|
if(L == A)
|
||||||
|
continue
|
||||||
L.Add(AT)
|
L.Add(AT)
|
||||||
return L
|
return L
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
AP.set_broken()
|
AP.set_broken()
|
||||||
|
|
||||||
|
|
||||||
/datum/game_mode/malfunction/verb/hack_camera(var/obj/machinery/camera/target = null as null|obj in cameranet.cameras)
|
/datum/game_mode/malfunction/verb/hack_camera(var/obj/machinery/camera/target in cameranet.cameras)
|
||||||
set name = "Hack Camera"
|
set name = "Hack Camera"
|
||||||
set desc = "100 CPU - Hacks existing camera, allowing you to add upgrade of your choice to it. Alternatively it lets you reactivate broken camera."
|
set desc = "100 CPU - Hacks existing camera, allowing you to add upgrade of your choice to it. Alternatively it lets you reactivate broken camera."
|
||||||
set category = "Software"
|
set category = "Software"
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
user.hacking = 0
|
user.hacking = 0
|
||||||
|
|
||||||
|
|
||||||
/datum/game_mode/malfunction/verb/machine_overload(obj/machinery/M as null|obj in machines)
|
/datum/game_mode/malfunction/verb/machine_overload(obj/machinery/M in machines)
|
||||||
set name = "Machine Overload"
|
set name = "Machine Overload"
|
||||||
set desc = "400 CPU - Causes cyclic short-circuit in machine, resulting in weak explosion after some time."
|
set desc = "400 CPU - Causes cyclic short-circuit in machine, resulting in weak explosion after some time."
|
||||||
set category = "Software"
|
set category = "Software"
|
||||||
|
|||||||
@@ -173,7 +173,11 @@ var/global/list/engineering_networks = list(
|
|||||||
assembly.upgrades.Add(new /obj/item/device/assembly/prox_sensor(assembly))
|
assembly.upgrades.Add(new /obj/item/device/assembly/prox_sensor(assembly))
|
||||||
setPowerUsage()
|
setPowerUsage()
|
||||||
if(!(src in machines))
|
if(!(src in machines))
|
||||||
machines.Add(src)
|
if(!machinery_sort_required && ticker)
|
||||||
|
dd_insertObjectList(machines, src)
|
||||||
|
else
|
||||||
|
machines += src
|
||||||
|
machinery_sort_required = 1
|
||||||
update_coverage()
|
update_coverage()
|
||||||
|
|
||||||
/obj/machinery/camera/proc/setPowerUsage()
|
/obj/machinery/camera/proc/setPowerUsage()
|
||||||
|
|||||||
@@ -19,9 +19,9 @@
|
|||||||
msg += "<B>Its casing is melted and heat-warped!</B>\n"
|
msg += "<B>Its casing is melted and heat-warped!</B>\n"
|
||||||
if (src.getOxyLoss())
|
if (src.getOxyLoss())
|
||||||
if (src.getOxyLoss() > 175)
|
if (src.getOxyLoss() > 175)
|
||||||
msg += "<B>It seems to be running on backup power. It's display is blinking \"BACKUP POWER CRITICAL\" warning.</B>\n"
|
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.</B>\n"
|
||||||
else if(src.getOxyLoss() > 100)
|
else if(src.getOxyLoss() > 100)
|
||||||
msg += "<B>It seems to be running on backup power. It's display is blinking \"BACKUP POWER LOW\" warning.</B>\n"
|
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.</B>\n"
|
||||||
else
|
else
|
||||||
msg += "It seems to be running on backup power.\n"
|
msg += "It seems to be running on backup power.\n"
|
||||||
|
|
||||||
|
|||||||
@@ -57,26 +57,26 @@
|
|||||||
src.see_in_dark = 8
|
src.see_in_dark = 8
|
||||||
src.see_invisible = SEE_INVISIBLE_LIVING
|
src.see_invisible = SEE_INVISIBLE_LIVING
|
||||||
|
|
||||||
if (src:aiRestorePowerRoutine==2)
|
if (aiRestorePowerRoutine==2)
|
||||||
src << "Alert cancelled. Power has been restored without our assistance."
|
src << "Alert cancelled. Power has been restored without our assistance."
|
||||||
src:aiRestorePowerRoutine = 0
|
aiRestorePowerRoutine = 0
|
||||||
src.blind.layer = 0
|
src.blind.layer = 0
|
||||||
return
|
return
|
||||||
else if (src:aiRestorePowerRoutine==3)
|
else if (aiRestorePowerRoutine==3)
|
||||||
src << "Alert cancelled. Power has been restored."
|
src << "Alert cancelled. Power has been restored."
|
||||||
src:aiRestorePowerRoutine = 0
|
aiRestorePowerRoutine = 0
|
||||||
src.blind.layer = 0
|
src.blind.layer = 0
|
||||||
return
|
return
|
||||||
else if (APU_power)
|
else if (APU_power)
|
||||||
src:aiRestorePowerRoutine = 0
|
aiRestorePowerRoutine = 0
|
||||||
src.blind.layer = 0
|
src.blind.layer = 0
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
var/area/current_area = get_area(src)
|
var/area/current_area = get_area(src)
|
||||||
|
|
||||||
if (lacks_power())
|
if (lacks_power())
|
||||||
if (src:aiRestorePowerRoutine==0)
|
if (aiRestorePowerRoutine==0)
|
||||||
src:aiRestorePowerRoutine = 1
|
aiRestorePowerRoutine = 1
|
||||||
|
|
||||||
//Blind the AI
|
//Blind the AI
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
theAPC.operating = 1
|
theAPC.operating = 1
|
||||||
theAPC.equipment = 3
|
theAPC.equipment = 3
|
||||||
theAPC.update()
|
theAPC.update()
|
||||||
src:aiRestorePowerRoutine = 3
|
aiRestorePowerRoutine = 3
|
||||||
src << "Here are your current laws:"
|
src << "Here are your current laws:"
|
||||||
src.show_laws()
|
src.show_laws()
|
||||||
sleep(50)
|
sleep(50)
|
||||||
|
|||||||
@@ -575,7 +575,7 @@
|
|||||||
if(has_electronics==0)
|
if(has_electronics==0)
|
||||||
has_electronics = 1
|
has_electronics = 1
|
||||||
user << "<span class='notice'>You place the power control board inside the frame.</span>"
|
user << "<span class='notice'>You place the power control board inside the frame.</span>"
|
||||||
qdel(W) // qdel
|
qdel(W)
|
||||||
else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN)))
|
else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN)))
|
||||||
user << "<span class='warning'>You cannot put the board inside, the frame is damaged.</span>"
|
user << "<span class='warning'>You cannot put the board inside, the frame is damaged.</span>"
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
var/shield_idle_power = 1500 //how much power we use when just being sustained.
|
var/shield_idle_power = 1500 //how much power we use when just being sustained.
|
||||||
|
|
||||||
/obj/machinery/shield/malfai
|
/obj/machinery/shield/malfai
|
||||||
name = "Emergency Forcefield"
|
name = "emergency forcefield"
|
||||||
desc = "Weak forcefield which seems to be projected by station's emergency atmosphere containment field"
|
desc = "A weak forcefield which seems to be projected by the station's emergency atmosphere containment field"
|
||||||
health = max_health/2 // Half health, it's not suposed to resist much.
|
health = max_health/2 // Half health, it's not suposed to resist much.
|
||||||
|
|
||||||
/obj/machinery/shield/malfai/process()
|
/obj/machinery/shield/malfai/process()
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
/obj/machinery/shield/proc/check_failure()
|
/obj/machinery/shield/proc/check_failure()
|
||||||
if (src.health <= 0)
|
if (src.health <= 0)
|
||||||
visible_message("<span class='notice'>The [src] dissipates!</span>")
|
visible_message("<span class='notice'>\The [src] dissipates!</span>")
|
||||||
qdel(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
|
|
||||||
/obj/machinery/shield/hitby(AM as mob|obj)
|
/obj/machinery/shield/hitby(AM as mob|obj)
|
||||||
//Let everyone know we've been hit!
|
//Let everyone know we've been hit!
|
||||||
visible_message("<span class='notice'><B>[src] was hit by [AM].</B></span>")
|
visible_message("<span class='notice'><B>\[src] was hit by [AM].</B></span>")
|
||||||
|
|
||||||
//Super realistic, resource-intensive, real-time damage calculations.
|
//Super realistic, resource-intensive, real-time damage calculations.
|
||||||
var/tforce = 0
|
var/tforce = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user