mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
The downloader and the file manager no longer come default on any device. A client enrollment app comes now with every console The user has to select weather the device is a private or company device and select a software preset if its a work console Work devices are locked down to a specific set of programs Private devices get the downloader and the file manager to install programs as usual. Threw out the backup of the old-old camera monitor. Made software presets a generic thing that are not dependant on the form factor of a device. Ported holowarrants from bay Ported wall mounted consoles from bay Ported various computer fixes from bay Vending machines spawn now with the holowarrant "client" Mapping changes: CE and HoS dont get a modular computer with command preset (they did not have that before bay merge, so why should they now) Added a modular computer with command preset to the head of staff briefing room Replaced the camera monitoring console in the Engine Control room with a modular computer Replaced the cam monitor in the CE´s office with a wall mounted console Switched places of the bar sink and console Replaced the consoles with obj/item consoles Mapped in the ERT and Merc Console (Merc Shuttle, ERT Area) Fixed the "border" at the heisters base Also waiting for CCIA on a design for the warrants. But that can be changed with a follow up pull
57 lines
2.0 KiB
Plaintext
57 lines
2.0 KiB
Plaintext
/obj/item/modular_computer/examine(var/mob/user)
|
|
..()
|
|
if(damage > broken_damage)
|
|
to_chat(user, "<span class='danger'>It is heavily damaged!</span>")
|
|
else if(damage)
|
|
to_chat(user, "It is damaged.")
|
|
|
|
/obj/item/modular_computer/proc/break_apart()
|
|
visible_message("\The [src] breaks apart!")
|
|
var/turf/newloc = get_turf(src)
|
|
new /obj/item/stack/material/steel(newloc, round(steel_sheet_cost/2))
|
|
for(var/obj/item/weapon/computer_hardware/H in get_all_components())
|
|
uninstall_component(null, H)
|
|
H.forceMove(newloc)
|
|
if(prob(25))
|
|
H.take_damage(rand(10,30))
|
|
//relay_qdel()
|
|
qdel()
|
|
|
|
/obj/item/modular_computer/proc/take_damage(var/amount, var/component_probability, var/damage_casing = 1, var/randomize = 1)
|
|
if(randomize)
|
|
// 75%-125%, rand() works with integers, apparently.
|
|
amount *= (rand(75, 125) / 100.0)
|
|
amount = round(amount)
|
|
if(damage_casing)
|
|
damage += amount
|
|
damage = between(0, damage, max_damage)
|
|
|
|
if(component_probability)
|
|
for(var/obj/item/weapon/computer_hardware/H in get_all_components())
|
|
if(prob(component_probability))
|
|
H.take_damage(round(amount / 2))
|
|
|
|
if(damage >= max_damage)
|
|
break_apart()
|
|
|
|
// Stronger explosions cause serious damage to internal components
|
|
// Minor explosions are mostly mitigitated by casing.
|
|
/obj/item/modular_computer/ex_act(var/severity)
|
|
take_damage(rand(100,200) / severity, 30 / severity)
|
|
|
|
// EMPs are similar to explosions, but don't cause physical damage to the casing. Instead they screw up the components
|
|
/obj/item/modular_computer/emp_act(var/severity)
|
|
take_damage(rand(100,200) / severity, 50 / severity, 0)
|
|
|
|
// "Stun" weapons can cause minor damage to components (short-circuits?)
|
|
// "Burn" damage is equally strong against internal components and exterior casing
|
|
// "Brute" damage mostly damages the casing.
|
|
/obj/item/modular_computer/bullet_act(var/obj/item/projectile/Proj)
|
|
switch(Proj.damage_type)
|
|
if(BRUTE)
|
|
take_damage(Proj.damage, Proj.damage / 2)
|
|
if(HALLOSS)
|
|
take_damage(Proj.damage, Proj.damage / 3, 0)
|
|
if(BURN)
|
|
take_damage(Proj.damage, Proj.damage / 1.5)
|