|
8 | 8 | if(!brain || stat == DEAD || (status_flags & FAKEDEATH)) |
9 | 9 | brain_result = 0 |
10 | 10 | else if(stat != DEAD) |
11 | | - brain_result = round(max(0,(1 - brain.damage/brain.max_damage)*100)) |
| 11 | + brain_result = round(max(0,(1 - brain.get_organ_damage() / brain.max_damage)*100)) |
12 | 12 | else |
13 | 13 | brain_result = -1 |
14 | 14 | .["brain_activity"] = brain_result |
|
60 | 60 | .["reagents"] += list(reagent) |
61 | 61 |
|
62 | 62 | .["external_organs"] = list() |
63 | | - for(var/obj/item/organ/external/E in get_external_organs()) |
| 63 | + for(var/obj/item/organ/external/limb in get_external_organs()) |
64 | 64 | var/list/O = list() |
65 | | - O["name"] = E.name |
66 | | - O["brute_ratio"] = E.brute_ratio |
67 | | - O["burn_ratio"] = E.burn_ratio |
68 | | - O["limb_flags"] = E.limb_flags |
69 | | - O["brute_dam"] = E.brute_dam |
70 | | - O["burn_dam"] = E.burn_dam |
71 | | - O["scan_results"] = E.get_scan_results(tag) |
72 | | - O["tumors"] = E.has_growths() |
73 | | - O["ailments"] = E.has_diagnosable_ailments(scanner = TRUE) |
| 65 | + O["name"] = limb.name |
| 66 | + O["brute_ratio"] = limb.brute_ratio |
| 67 | + O["burn_ratio"] = limb.burn_ratio |
| 68 | + O["limb_flags"] = limb.limb_flags |
| 69 | + O["brute_dam"] = limb.brute_dam |
| 70 | + O["burn_dam"] = limb.burn_dam |
| 71 | + O["scan_results"] = limb.get_scan_results(tag) |
| 72 | + O["tumors"] = limb.has_growths() |
| 73 | + O["ailments"] = limb.has_diagnosable_ailments(scanner = TRUE) |
74 | 74 | .["external_organs"] += list(O) |
75 | 75 |
|
76 | 76 | .["internal_organs"] = list() |
77 | 77 | var/list/internal_organs = get_internal_organs() |
78 | | - for(var/obj/item/organ/internal/I in internal_organs) |
| 78 | + for(var/obj/item/organ/internal/organ in internal_organs) |
79 | 79 | var/list/O = list() |
80 | | - O["name"] = I.name |
81 | | - O["is_broken"] = I.is_broken() |
82 | | - O["is_bruised"] = I.is_bruised() |
83 | | - O["is_damaged"] = I.damage > 0 |
84 | | - O["scan_results"] = I.get_scan_results(tag) |
85 | | - O["ailments"] = I.has_diagnosable_ailments(scanner = TRUE) |
| 80 | + O["name"] = organ.name |
| 81 | + O["is_broken"] = organ.is_broken() |
| 82 | + O["is_bruised"] = organ.is_bruised() |
| 83 | + O["is_damaged"] = organ.get_organ_damage() > 0 |
| 84 | + O["scan_results"] = organ.get_scan_results(tag) |
| 85 | + O["ailments"] = organ.has_diagnosable_ailments(scanner = TRUE) |
86 | 86 | .["internal_organs"] += list(O) |
87 | 87 |
|
88 | 88 | .["missing_organs"] = list() |
|
270 | 270 | dat += "<tr><th>Organ</th><th>Damage</th><th>Status</th></tr>" |
271 | 271 | subdat = list() |
272 | 272 |
|
273 | | - for(var/list/E in scan["external_organs"]) |
274 | | - if(!E) |
| 273 | + for(var/list/organ_data in scan["external_organs"]) |
| 274 | + if(!organ_data) |
275 | 275 | break |
276 | 276 | var/row = list() |
277 | | - row += "<tr><td>[E["name"]]</td>" |
| 277 | + row += "<tr><td>[organ_data["name"]]</td>" |
278 | 278 | var/rowdata = list() |
279 | | - if(E["brute_dam"] + E["burn_dam"] == 0) |
| 279 | + if(organ_data["brute_dam"] + organ_data["burn_dam"] == 0) |
280 | 280 | rowdata += "None" |
281 | 281 | else if(skill_level < SKILL_ADEPT) |
282 | | - if(E["brute_dam"]) |
| 282 | + if(organ_data["brute_dam"]) |
283 | 283 | rowdata += "<span class='bad'>Damaged</span>" |
284 | | - if(E["burn_dam"]) |
| 284 | + if(organ_data["burn_dam"]) |
285 | 285 | rowdata += "<span class='average'>Burned</span>" |
286 | 286 | else |
287 | | - if(E["brute_dam"]) |
288 | | - rowdata += "<span class='bad'>[capitalize(get_wound_severity(E["brute_ratio"], (E["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] physical trauma</span>" |
289 | | - if(E["burn_dam"]) |
290 | | - rowdata += "<span class='average'>[capitalize(get_wound_severity(E["burn_ratio"], (E["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] burns</span>" |
| 287 | + if(organ_data["brute_dam"]) |
| 288 | + rowdata += "<span class='bad'>[capitalize(get_wound_severity(organ_data["brute_ratio"], (organ_data["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] physical trauma</span>" |
| 289 | + if(organ_data["burn_dam"]) |
| 290 | + rowdata += "<span class='average'>[capitalize(get_wound_severity(organ_data["burn_ratio"], (organ_data["limb_flags"] & ORGAN_FLAG_HEALS_OVERKILL)))] burns</span>" |
291 | 291 | row += "<td>[jointext(rowdata, "<br>")]</td>" |
292 | 292 |
|
293 | 293 | if(skill_level >= SKILL_ADEPT) |
294 | 294 | var/list/status = list() |
295 | | - if(E["scan_results"]) |
296 | | - status += "<span class='bad'>[english_list(E["scan_results"], nothing_text = " ")]</span>" |
297 | | - if(E["tumors"]) |
| 295 | + if(organ_data["scan_results"]) |
| 296 | + status += "<span class='bad'>[english_list(organ_data["scan_results"], nothing_text = " ")]</span>" |
| 297 | + if(organ_data["tumors"]) |
298 | 298 | status += "<span class='bad'>Abnormal internal growth</span>" |
299 | | - if(E["ailments"]) |
300 | | - status += "[jointext(E["ailments"], "<br>")]" |
| 299 | + if(organ_data["ailments"]) |
| 300 | + status += "[jointext(organ_data["ailments"], "<br>")]" |
301 | 301 | row += "<td>[status ? jointext(status, "<br>") : "Nominal."]</td>" |
302 | 302 | else |
303 | 303 | row += "<td> </td>" |
|
311 | 311 | //Internal Organs |
312 | 312 | if(skill_level >= SKILL_BASIC) |
313 | 313 | dat += "<tr><th colspan='3'><center>Internal Organs</center></th></tr>" |
314 | | - for(var/list/I in scan["internal_organs"]) |
| 314 | + for(var/list/organ_data in scan["internal_organs"]) |
315 | 315 | var/row = list() |
316 | | - row += "<tr><td>[I["name"]]</td>" |
317 | | - if(I["is_broken"]) |
| 316 | + row += "<tr><td>[organ_data["name"]]</td>" |
| 317 | + if(organ_data["is_broken"]) |
318 | 318 | row += "<td><span class='bad'>Severe</span></td>" |
319 | | - else if(I["is_bruised"]) |
| 319 | + else if(organ_data["is_bruised"]) |
320 | 320 | row += "<td><span class='average'>Moderate</span></td>" |
321 | | - else if(I["is_damaged"]) |
| 321 | + else if(organ_data["is_damaged"]) |
322 | 322 | row += "<td><span class='mild'>Minor</span></td>" |
323 | 323 | else |
324 | 324 | row += "<td>None</td>" |
325 | 325 |
|
326 | 326 | if(skill_level >= SKILL_ADEPT) |
327 | 327 | var/list/status = list() |
328 | | - if(I["scan_results"]) |
329 | | - status += "<span class='bad'>[english_list(I["scan_results"], nothing_text = " ")]</span>" |
330 | | - if(I["ailments"]) |
331 | | - status += "[jointext(I["ailments"], "<br>")]" |
| 328 | + if(organ_data["scan_results"]) |
| 329 | + status += "<span class='bad'>[english_list(organ_data["scan_results"], nothing_text = " ")]</span>" |
| 330 | + if(organ_data["ailments"]) |
| 331 | + status += "[jointext(organ_data["ailments"], "<br>")]" |
332 | 332 | row += "<td>[status ? jointext(status, "<br>") : "Nominal."]</td>" |
333 | 333 | else |
334 | 334 | row += "<td> </td>" |
|
0 commit comments