mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Merge pull request #18570 from phil235/FixBundlenumberIdontevenremember
Fix bundle stuff: damage overlay, robotic augmentation, etc
This commit is contained in:
@@ -268,9 +268,6 @@
|
||||
if(!do_mob(user, H, 50))
|
||||
return
|
||||
item_heal_robotic(H, user, 5, 0)
|
||||
return
|
||||
else
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
|
||||
visor_flags_inv = HIDEFACE
|
||||
flags_cover = MASKCOVERSMOUTH
|
||||
visor_flags_cover = MASKCOVERSMOUTH
|
||||
var/aggressiveness = 2
|
||||
var/cooldown_special
|
||||
var/recent_uses = 0
|
||||
|
||||
@@ -63,9 +63,9 @@ There are several things that need to be remembered:
|
||||
for(var/X in bodyparts)
|
||||
var/obj/item/bodypart/BP = X
|
||||
if(BP.brutestate)
|
||||
standing.overlays += "[dmgoverlaytype][BP.icon_state]_[BP.brutestate]0" //we're adding icon_states of the base image as overlays
|
||||
standing.overlays += "[dmgoverlaytype][BP.body_zone]_[BP.brutestate]0" //we're adding icon_states of the base image as overlays
|
||||
if(BP.burnstate)
|
||||
standing.overlays += "[dmgoverlaytype][BP.icon_state]_0[BP.burnstate]"
|
||||
standing.overlays += "[dmgoverlaytype][BP.body_zone]_0[BP.burnstate]"
|
||||
|
||||
apply_overlay(DAMAGE_LAYER)
|
||||
|
||||
|
||||
@@ -414,28 +414,21 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
alert_overlay.layer = FLOAT_LAYER
|
||||
A.overlays += alert_overlay
|
||||
|
||||
/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute, burn)
|
||||
/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal)
|
||||
var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
|
||||
|
||||
var/dam //changes repair text based on how much brute/burn was supplied
|
||||
|
||||
if(brute > burn)
|
||||
dam = 1
|
||||
else
|
||||
dam = 0
|
||||
|
||||
if(affecting && affecting.status == ORGAN_ROBOTIC)
|
||||
if((brute > 0 && affecting.brute_dam > 0) || (burn > 0 && affecting.burn_dam > 0))
|
||||
affecting.heal_damage(brute,burn,1)
|
||||
H.update_damage_overlays(0)
|
||||
H.updatehealth()
|
||||
var/dam //changes repair text based on how much brute/burn was supplied
|
||||
if(brute_heal > burn_heal)
|
||||
dam = 1
|
||||
else
|
||||
dam = 0
|
||||
if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0))
|
||||
affecting.heal_damage(brute_heal,burn_heal,1)
|
||||
user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].", "<span class='notice'>You fix some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].</span>")
|
||||
return
|
||||
return 1 //successful heal
|
||||
else
|
||||
user << "<span class='warning'>[H]'s [affecting] is already in good condition!</span>"
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
/proc/IsAdminGhost(var/mob/user)
|
||||
if(!user) //Are they a mob? Auto interface updates call this with a null src
|
||||
|
||||
@@ -517,8 +517,8 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
|
||||
user.visible_message("<span class='notice'>[user] starts to fix some of the wires in [H]'s [affecting.name].</span>", "<span class='notice'>You start fixing some of the wires in [H]'s [affecting.name].</span>")
|
||||
if(!do_mob(user, H, 50))
|
||||
return
|
||||
item_heal_robotic(H, user, 0, 5)
|
||||
src.use(1)
|
||||
if(item_heal_robotic(H, user, 0, 5))
|
||||
use(1)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -522,6 +522,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
griefProtection()
|
||||
var/choice = alert("R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "Continue", "Cancel")
|
||||
if(choice == "Continue")
|
||||
message_admins("[key_name_admin(usr)] reset \the [src.name]'s database")
|
||||
log_game("[key_name_admin(usr)] reset \the [src.name]'s database")
|
||||
screen = 0.0
|
||||
qdel(files)
|
||||
files = new /datum/research(src)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
Reference in New Issue
Block a user