Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
41a4afa
Added blacksmithy.
MistakeNot4892 Jan 23, 2025
5f37059
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 2, 2025
72752db
Merge pull request #4672 from MistakeNot4892/feature/blacksmithy
out-of-phaze Feb 2, 2025
9f8ebbf
Collapsing organ damage procs down into take_damage().
MistakeNot4892 Feb 1, 2025
3d55f5c
Replacing organ damage var with getter/setter as prep for future merg…
MistakeNot4892 Feb 3, 2025
8c024d1
Separate furniture.dmi into individual icons
out-of-phaze Feb 3, 2025
c46dd91
Move buckling via grab attack onto structures
out-of-phaze Feb 3, 2025
70162a5
Make the travois not a bed
out-of-phaze Feb 3, 2025
3f1e8b6
Replacing some uses of bare /turf/floor.
MistakeNot4892 Feb 3, 2025
69466a2
Merge pull request #4835 from out-of-phaze/codequality/chair-icon-split
MistakeNot4892 Feb 4, 2025
5fc6439
Improve article handling for plural stacks
out-of-phaze Feb 4, 2025
bf6c34a
Fix null paint_verb on material-less structures
out-of-phaze Feb 4, 2025
4f3c6af
Move padding onto an extension
out-of-phaze Feb 4, 2025
6ed1773
Merge pull request #4839 from out-of-phaze/staging-fix/plural-grammar
MistakeNot4892 Feb 4, 2025
833f744
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 6, 2025
f4f10c4
Merge pull request #4833 from MistakeNot4892/rework/damage
out-of-phaze Feb 6, 2025
b083d66
Merge pull request #4837 from out-of-phaze/codequality/padding-extension
MistakeNot4892 Feb 6, 2025
7ff55da
Automatic changelog generation for PR #4837 [ci skip]
NebulaSS13Bot Feb 6, 2025
ef85978
Make chairs not a subtype of bed
out-of-phaze Feb 4, 2025
617cef6
Repath chairs in maps to not be beds
out-of-phaze Feb 4, 2025
77bef4b
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 7, 2025
44ead5f
Tweaking flooring procs to allow for multiple flooring layers.
MistakeNot4892 Jan 12, 2025
8d95113
Fix oversights in map migrations
out-of-phaze Feb 6, 2025
65bae37
Automatic changelog generation [ci skip]
NebulaSS13Bot Feb 8, 2025
67e6cac
Merge pull request #4838 from out-of-phaze/codequality/chair-no-bed
MistakeNot4892 Feb 8, 2025
d21758d
Fixing drones/robots/bots spawning meat when gibbed.
MistakeNot4892 Feb 8, 2025
0872878
Cleans up bot card and access on Destroy()/gib()
MistakeNot4892 Feb 8, 2025
48ea685
Tweaks/fixes to welder pack refuelling.
MistakeNot4892 Feb 9, 2025
f865929
Merge pull request #4720 from MistakeNot4892/feature/floor_layers
out-of-phaze Feb 9, 2025
d61b75f
examine() -> get_examine_strings(), examined_by().
MistakeNot4892 Feb 3, 2025
14d7f0c
Adjusting for feedback from PR.
MistakeNot4892 Feb 6, 2025
e821679
display_parts() no longer displays itself.
MistakeNot4892 Feb 7, 2025
bccf8ce
Merge pull request #4836 from MistakeNot4892/rework/examine
out-of-phaze Feb 10, 2025
c9eb48e
Removing remaining uses of pronoun macros.
MistakeNot4892 Feb 10, 2025
2f3cdd1
Fixing cola display name breaking.
MistakeNot4892 Feb 9, 2025
1da3735
Moving organ damage var/procs onto /internal.
MistakeNot4892 Feb 6, 2025
c2b5b4d
Generalizing lid overlay states for glass containers.
MistakeNot4892 Feb 11, 2025
5c75352
Reworking buckets.
MistakeNot4892 Feb 11, 2025
01696a2
Merge pull request #4849 from MistakeNot4892/fix/weldpack
out-of-phaze Feb 12, 2025
528bd15
Merge pull request #4841 from MistakeNot4892/rework/damage
out-of-phaze Feb 12, 2025
d43b863
Merge pull request #4853 from MistakeNot4892/tweak/pronouns
out-of-phaze Feb 12, 2025
126bb92
Merge pull request #4843 from MistakeNot4892/fix/gibbing
out-of-phaze Feb 12, 2025
58e4312
Fleshing out the robot HUD style.
MistakeNot4892 Feb 9, 2025
c6fcdf5
Condensing sign macros/procs to fix OD issue.
MistakeNot4892 Feb 12, 2025
df65026
Merge pull request #4857 from MistakeNot4892/fix/opendream
MistakeNot4892 Feb 12, 2025
fd9e2f5
Bees need flowers to produce honey.
MistakeNot4892 Feb 9, 2025
91f263c
Modpacking beehives.
MistakeNot4892 Jul 28, 2024
6425023
Merge pull request #4845 from MistakeNot4892/modpack/beekeeping
out-of-phaze Feb 13, 2025
7384b4a
Merge pull request #4854 from MistakeNot4892/fix/buckets
out-of-phaze Feb 13, 2025
d4a6695
Fix 'that's a space' when examining space
out-of-phaze Feb 13, 2025
bc3deb6
Optimize pick-turf predicate helpers
out-of-phaze Feb 8, 2025
374bf98
Fix cold protection item value calculation
out-of-phaze Feb 8, 2025
ab4bf02
Fix invalid origin_tech interpolations
out-of-phaze Feb 8, 2025
73530e4
Fix AI hologram admin verb
out-of-phaze Feb 9, 2025
48d14ea
Optimize check_tile_graphic and other gasmix procs
out-of-phaze Feb 9, 2025
fb153fe
Fix invalid seed chems value
out-of-phaze Feb 10, 2025
ae2fbc5
Fix incorrect proc indentation
out-of-phaze Feb 12, 2025
286b9af
Simplify HE pipe temperature_interact
out-of-phaze Feb 12, 2025
20dcfd4
Fix shoe cuff slowdowns
out-of-phaze Feb 12, 2025
3d4716e
Fix redundant recipe product spawns in crafting unit test
out-of-phaze Feb 12, 2025
c05a8eb
Remove morph shapeshifter power
out-of-phaze Feb 12, 2025
c4493cf
Remove defunct loot spawner definition
out-of-phaze Feb 12, 2025
6924392
Fix miscellaneous issues from TypeMaker branch
out-of-phaze Feb 13, 2025
8289e2e
Fix improper usage of shard_type on paper
out-of-phaze Feb 13, 2025
c739edb
Optimize pick_area_turf_by_flag in the case of no suitable areas
out-of-phaze Feb 13, 2025
9c52c31
Move open_uis onto datum
out-of-phaze Feb 14, 2025
e980495
Optimize get_movable_alpha_mask_state for space turfs
out-of-phaze Feb 14, 2025
5db0b90
Simplify has_extension and remove_extension
out-of-phaze Feb 14, 2025
9c9e91c
Optimize floor icons, smoothing, and topmost layer
out-of-phaze Feb 14, 2025
242553e
Merge branch 'staging' of github.com:NebulaSS13/Nebula into devupdate
MistakeNot4892 Feb 15, 2025
743e394
Merge branch 'devupdate' of github.com:MistakeNot4892/Nebula into for…
MistakeNot4892 Feb 15, 2025
d8a5fa5
Merge pull request #4863 from MistakeNot4892/devupdate
MistakeNot4892 Feb 15, 2025
7db12d0
Merge branch 'dev' of github.com:NebulaSS13/Nebula into fork/pyrelight
MistakeNot4892 Feb 15, 2025
5730878
Merge pull request #4860 from out-of-phaze/optimize/misc-floor-opts
MistakeNot4892 Feb 15, 2025
d389a0d
Merge pull request #4858 from out-of-phaze/codequality/typemaker-tweaks
MistakeNot4892 Feb 15, 2025
05a6f98
Merge pull request #4859 from out-of-phaze/fix/space-examine
MistakeNot4892 Feb 15, 2025
f0390d3
Merge branch 'dev' of github.com:NebulaSS13/Nebula into fork/pyrelight
MistakeNot4892 Feb 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion code/__defines/genetics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
#define GENE_COND_REMOTE_TALK /decl/genetic_condition/superpower/remotetalk
#define GENE_COND_RUNNING /decl/genetic_condition/superpower/running
#define GENE_COND_REMOTE_VIEW /decl/genetic_condition/superpower/remoteview
#define GENE_COND_SHAPESHIFTER /decl/genetic_condition/superpower/morph
#define GENE_COND_NO_FINGERPRINTS /decl/genetic_condition/superpower/noprints

#define GENE_COND_CLUMSY /decl/genetic_condition/disability/clumsy
Expand Down
1 change: 1 addition & 0 deletions code/__defines/hydroponics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// Defining these to point to the relevant decl types just to avoid a massive changeset.
// TODO: rename to PLANT_TRAIT or bare decls to avoid mixing up with GetTrait etc.
#define TRAIT_CHEMS /decl/plant_trait/chems
#define TRAIT_POLLEN /decl/plant_trait/pollen
#define TRAIT_EXUDE_GASSES /decl/plant_trait/exude_gasses
#define TRAIT_ALTER_TEMP /decl/plant_trait/alter_temp
#define TRAIT_POTENCY /decl/plant_trait/potency
Expand Down
7 changes: 5 additions & 2 deletions code/__defines/math_physics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,8 @@
#define TICKS_IN_DAY 24*60*60*10
#define TICKS_IN_SECOND 10

#define SIMPLE_SIGN(X) ((X) < 0 ? -1 : 1)
#define SIGN(X) ((X) ? SIMPLE_SIGN(X) : 0)
#if DM_VERSION < 516
#define SIGN(X) ( (X) ? ( (X) < 0 ? -1 : 1 ) : 0 )
#else
#define SIGN(X) sign(X)
#endif
1 change: 1 addition & 0 deletions code/__defines/tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
#define IS_KNIFE(A) IS_TOOL(A, TOOL_KNIFE)
#define IS_HAMMER(A) IS_TOOL(A, TOOL_HAMMER)
#define IS_HOE(A) IS_TOOL(A, TOOL_HOE)
#define IS_SHEARS(A) IS_TOOL(A, TOOL_SHEARS)

#define IS_HEMOSTAT(A) IS_TOOL(A, TOOL_HEMOSTAT)
#define IS_RETRACTOR(A) IS_TOOL(A, TOOL_RETRACTOR)
Expand Down
26 changes: 14 additions & 12 deletions code/_helpers/areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,28 +36,30 @@
*/
/proc/pick_area_turf_by_flag(var/area_flags, var/list/predicates)
var/list/turfs
for(var/sub_area_type in subtypesof(/area))
var/area/sub_area = sub_area_type
if(!(initial(sub_area.area_flags) & area_flags))
var/list/valid_areas = list()
for(var/area/candidate_area as anything in global.areas)
if(!(candidate_area.area_flags & area_flags))
continue
sub_area = locate(sub_area_type)
if(!sub_area)
valid_areas[candidate_area] = TRUE
if(!length(valid_areas)) // no turfs at all have that flag
return FALSE
// Each area contents loop is an in-world loop, so we just do one here.
for(var/turf/turf_candidate in world)
var/area/candidate_area = get_area(turf_candidate)
if(!valid_areas[candidate_area])
continue
for(var/turf/T in sub_area.contents)
if(!predicates || all_predicates_true(list(T), predicates))
LAZYADD(turfs, T)
if(!predicates || all_predicates_true(list(turf_candidate), predicates))
LAZYADD(turfs, turf_candidate)
if(LAZYLEN(turfs))
return pick(turfs)

/proc/pick_area_turf(var/areatype, var/list/predicates)
var/list/turfs = get_area_turfs(areatype, predicates)
if(turfs && turfs.len)
return pick(turfs)
return SAFEPICK(turfs)

/proc/pick_area(var/list/predicates)
var/list/areas = get_filtered_areas(predicates)
if(LAZYLEN(areas))
. = pick(areas)
return SAFEPICK(areas)

/proc/pick_area_and_turf(var/list/area_predicates, var/list/turf_predicates)
var/list/areas = get_filtered_areas(area_predicates)
Expand Down
6 changes: 3 additions & 3 deletions code/_helpers/game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@
if(Y1==Y2)
return 1 //Light cannot be blocked on same tile
else
var/s = SIMPLE_SIGN(Y2-Y1)
var/s = SIGN(Y2-Y1)
Y1+=s
while(Y1!=Y2)
T=locate(X1,Y1,Z)
Expand All @@ -233,8 +233,8 @@
else
var/m=(32*(Y2-Y1)+(PY2-PY1))/(32*(X2-X1)+(PX2-PX1))
var/b=(Y1+PY1/32-0.015625)-m*(X1+PX1/32-0.015625) //In tiles
var/signX = SIMPLE_SIGN(X2-X1)
var/signY = SIMPLE_SIGN(Y2-Y1)
var/signX = SIGN(X2-X1)
var/signY = SIGN(Y2-Y1)
if(X1<X2)
b+=m
while(X1!=X2 || Y1!=Y2)
Expand Down
4 changes: 2 additions & 2 deletions code/_helpers/icons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,8 @@ world

// make this icon fully opaque--transparent pixels become black
/icon/proc/Opaque(background = "#000000")
SwapColor(null, background)
MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1)
SwapColor(null, background)
MapColors(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,1)

// Change a grayscale icon into a white icon where the original color becomes the alpha
// I.e., black -> transparent, gray -> translucent white, white -> solid white
Expand Down
84 changes: 42 additions & 42 deletions code/_helpers/medical_scans.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
if(!brain || stat == DEAD || (status_flags & FAKEDEATH))
brain_result = 0
else if(stat != DEAD)
brain_result = round(max(0,(1 - brain.damage/brain.max_damage)*100))
brain_result = round(max(0,(1 - brain.get_organ_damage() / brain.max_damage)*100))
else
brain_result = -1
.["brain_activity"] = brain_result
Expand Down Expand Up @@ -60,29 +60,29 @@
.["reagents"] += list(reagent)

.["external_organs"] = list()
for(var/obj/item/organ/external/E in get_external_organs())
for(var/obj/item/organ/external/limb in get_external_organs())
var/list/O = list()
O["name"] = E.name
O["brute_ratio"] = E.brute_ratio
O["burn_ratio"] = E.burn_ratio
O["limb_flags"] = E.limb_flags
O["brute_dam"] = E.brute_dam
O["burn_dam"] = E.burn_dam
O["scan_results"] = E.get_scan_results(tag)
O["tumors"] = E.has_growths()
O["ailments"] = E.has_diagnosable_ailments(scanner = TRUE)
O["name"] = limb.name
O["brute_ratio"] = limb.brute_ratio
O["burn_ratio"] = limb.burn_ratio
O["limb_flags"] = limb.limb_flags
O["brute_dam"] = limb.brute_dam
O["burn_dam"] = limb.burn_dam
O["scan_results"] = limb.get_scan_results(tag)
O["tumors"] = limb.has_growths()
O["ailments"] = limb.has_diagnosable_ailments(scanner = TRUE)
.["external_organs"] += list(O)

.["internal_organs"] = list()
var/list/internal_organs = get_internal_organs()
for(var/obj/item/organ/internal/I in internal_organs)
for(var/obj/item/organ/internal/organ in internal_organs)
var/list/O = list()
O["name"] = I.name
O["is_broken"] = I.is_broken()
O["is_bruised"] = I.is_bruised()
O["is_damaged"] = I.damage > 0
O["scan_results"] = I.get_scan_results(tag)
O["ailments"] = I.has_diagnosable_ailments(scanner = TRUE)
O["name"] = organ.name
O["is_broken"] = organ.is_broken()
O["is_bruised"] = organ.is_bruised()
O["is_damaged"] = organ.get_organ_damage() > 0
O["scan_results"] = organ.get_scan_results(tag)
O["ailments"] = organ.has_diagnosable_ailments(scanner = TRUE)
.["internal_organs"] += list(O)

.["missing_organs"] = list()
Expand Down Expand Up @@ -270,34 +270,34 @@
dat += "<tr><th>Organ</th><th>Damage</th><th>Status</th></tr>"
subdat = list()

for(var/list/E in scan["external_organs"])
if(!E)
for(var/list/organ_data in scan["external_organs"])
if(!organ_data)
break
var/row = list()
row += "<tr><td>[E["name"]]</td>"
row += "<tr><td>[organ_data["name"]]</td>"
var/rowdata = list()
if(E["brute_dam"] + E["burn_dam"] == 0)
if(organ_data["brute_dam"] + organ_data["burn_dam"] == 0)
rowdata += "None"
else if(skill_level < SKILL_ADEPT)
if(E["brute_dam"])
if(organ_data["brute_dam"])
rowdata += "<span class='bad'>Damaged</span>"
if(E["burn_dam"])
if(organ_data["burn_dam"])
rowdata += "<span class='average'>Burned</span>"
else
if(E["brute_dam"])
rowdata += "<span class='bad'>[capitalize(get_wound_severity(E["brute_ratio"], (E["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] physical trauma</span>"
if(E["burn_dam"])
rowdata += "<span class='average'>[capitalize(get_wound_severity(E["burn_ratio"], (E["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] burns</span>"
if(organ_data["brute_dam"])
rowdata += "<span class='bad'>[capitalize(get_wound_severity(organ_data["brute_ratio"], (organ_data["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] physical trauma</span>"
if(organ_data["burn_dam"])
rowdata += "<span class='average'>[capitalize(get_wound_severity(organ_data["burn_ratio"], (organ_data["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] burns</span>"
row += "<td>[jointext(rowdata, "<br>")]</td>"

if(skill_level >= SKILL_ADEPT)
var/list/status = list()
if(E["scan_results"])
status += "<span class='bad'>[english_list(E["scan_results"], nothing_text = "&nbsp;")]</span>"
if(E["tumors"])
if(organ_data["scan_results"])
status += "<span class='bad'>[english_list(organ_data["scan_results"], nothing_text = "&nbsp;")]</span>"
if(organ_data["tumors"])
status += "<span class='bad'>Abnormal internal growth</span>"
if(E["ailments"])
status += "[jointext(E["ailments"], "<br>")]"
if(organ_data["ailments"])
status += "[jointext(organ_data["ailments"], "<br>")]"
row += "<td>[status ? jointext(status, "<br>") : "Nominal."]</td>"
else
row += "<td>&nbsp;</td>"
Expand All @@ -311,24 +311,24 @@
//Internal Organs
if(skill_level >= SKILL_BASIC)
dat += "<tr><th colspan='3'><center>Internal Organs</center></th></tr>"
for(var/list/I in scan["internal_organs"])
for(var/list/organ_data in scan["internal_organs"])
var/row = list()
row += "<tr><td>[I["name"]]</td>"
if(I["is_broken"])
row += "<tr><td>[organ_data["name"]]</td>"
if(organ_data["is_broken"])
row += "<td><span class='bad'>Severe</span></td>"
else if(I["is_bruised"])
else if(organ_data["is_bruised"])
row += "<td><span class='average'>Moderate</span></td>"
else if(I["is_damaged"])
else if(organ_data["is_damaged"])
row += "<td><span class='mild'>Minor</span></td>"
else
row += "<td>None</td>"

if(skill_level >= SKILL_ADEPT)
var/list/status = list()
if(I["scan_results"])
status += "<span class='bad'>[english_list(I["scan_results"], nothing_text = "&nbsp;")]</span>"
if(I["ailments"])
status += "[jointext(I["ailments"], "<br>")]"
if(organ_data["scan_results"])
status += "<span class='bad'>[english_list(organ_data["scan_results"], nothing_text = "&nbsp;")]</span>"
if(organ_data["ailments"])
status += "[jointext(organ_data["ailments"], "<br>")]"
row += "<td>[status ? jointext(status, "<br>") : "Nominal."]</td>"
else
row += "<td>&nbsp;</td>"
Expand Down
4 changes: 4 additions & 0 deletions code/_helpers/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
* from text that will be sent to the browser.
*/
#define strip_improper(input_text) replacetext(replacetext(input_text, "\proper", ""), "\improper", "")
var/global/regex/starts_uppercase_regex = regex(@"^[A-Z]")
var/global/regex/starts_lowercase_regex = regex(@"^[a-z]")
#define is_proper(input_text) ((findtext(input_text, "\proper") == 1) || findtext(input_text, starts_uppercase_regex))
#define is_improper(input_text) ((findtext(input_text, "\improper") == 1 || findtext(input_text, starts_lowercase_regex)))

//Used for preprocessing entered text
//Added in an additional check to alert players if input is too long
Expand Down
9 changes: 2 additions & 7 deletions code/_helpers/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,6 @@ Turf and target are seperate in case you want to teleport some distance from a t
return 1
return 0

#if DM_VERSION < 516
/proc/sign(x)
return x!=0?x/abs(x):0
#endif

/proc/getline(atom/M,atom/N)//Ultra-Fast Bresenham Line-Drawing Algorithm
var/px=M.x //starting x
var/py=M.y
Expand All @@ -182,8 +177,8 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/dy=N.y-py
var/dxabs=abs(dx)//Absolute value of x distance
var/dyabs=abs(dy)
var/sdx=sign(dx) //Sign of x distance (+ or -)
var/sdy=sign(dy)
var/sdx=SIGN(dx) //Sign of x distance (+ or -)
var/sdy=SIGN(dy)
var/x=BITSHIFT_RIGHT(dxabs,1) //Counters for steps taken, setting to distance/2
var/y=BITSHIFT_RIGHT(dyabs,1) //Bit-shifting makes me l33t. It also makes getline() unnessecarrily fast.
var/j //Generic integer for counting
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/click.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@

/atom/proc/ShiftClick(var/mob/user)
if(user.client && user.client.eye == user)
user.examinate(src)
user.examine_verb(src)
return

/*
Expand Down
4 changes: 2 additions & 2 deletions code/_onclick/ghost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
AltClickOn(A)
return
if(modifiers["shift"])
examinate(A)
examine_verb(A)
return
A.attack_ghost(src)

Expand All @@ -44,7 +44,7 @@
if(!istype(user))
return
if(user.client && user.client.inquisitive_ghost)
user.examinate(src)
user.examine_verb(src)
return
if(user.client?.holder || user.antagHUD)
storage?.show_to(user)
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/hud/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
var/procname = null
var/atom/movable/target = null
var/check_flags = 0
var/active = 0
var/active = FALSE
var/obj/screen/action_button/button = null
var/button_icon = 'icons/obj/action_buttons/actions.dmi'
var/button_icon_state = "default"
Expand Down
15 changes: 0 additions & 15 deletions code/_onclick/hud/hud_types/robot.dm
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
/mob/living/silicon/robot
hud_used = /datum/hud/robot

/decl/ui_style/robot
name = "Stationbound"
restricted = TRUE
uid = "ui_style_robot"
override_icons = list(
(HUD_HEALTH) = 'icons/mob/screen/styles/robot/health.dmi',
(HUD_FIRE) = 'icons/mob/screen/styles/robot/status_fire.dmi',
(HUD_OXY) = 'icons/mob/screen/styles/robot/status_oxy.dmi',
(HUD_UP_HINT) = 'icons/mob/screen/styles/robot/uphint.dmi',
(HUD_ZONE_SELECT) = 'icons/mob/screen/styles/robot/zone_selector.dmi'
)

/datum/hud/robot/get_ui_style_data()
return GET_DECL(/decl/ui_style/robot)

Expand All @@ -39,13 +27,10 @@
/datum/hud/proc/toggle_show_robot_modules()
if(!isrobot(mymob))
return

var/mob/living/silicon/robot/r = mymob

r.shown_robot_modules = !r.shown_robot_modules
update_robot_modules_display()


/datum/hud/proc/update_robot_modules_display()
if(!isrobot(mymob) || !mymob.client)
return
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/hud/screen/_screen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
/obj/screen/Click(location, control, params)
var/list/paramlist = params2list(params)
if(paramlist["shift"])
return examine(usr, 0)
return examined_by(usr, 0)
if(ismob(usr) && usr.client && usr.canClick() && (!user_incapacitation_flags || !usr.incapacitated(user_incapacitation_flags)))
return handle_click(usr, params)
return FALSE
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/hud/screen/robot/screen_robot_modules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

/obj/screen/robot/module
dir = SOUTHWEST
icon = 'icons/mob/screen/styles/robot/inventory.dmi'
icon = 'icons/mob/screen/styles/robot/modules_inventory.dmi'
var/module_index

/obj/screen/robot/module/handle_click(mob/user, params)
Expand Down
3 changes: 2 additions & 1 deletion code/_onclick/hud/screen/screen_intent.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,11 @@
if(. && intent && parent)
parent.set_intent(intent)

/obj/screen/intent_button/examine(mob/user, distance)
/obj/screen/intent_button/examined_by(mob/user, distance, infix, suffix)
SHOULD_CALL_PARENT(FALSE)
if(desc)
to_chat(user, desc)
return TRUE

/obj/screen/intent_button/on_update_icon()
. = ..()
Expand Down
Loading
Loading