conflicts!!!

This commit is contained in:
Artur
2020-07-03 15:45:11 +03:00
24 changed files with 129 additions and 81 deletions
+21 -31
View File
@@ -436,7 +436,7 @@
var/blood_id = get_blood_id()
if(!(blood_id in GLOB.blood_reagent_types))
return
return list("color" = list(BLOOD_COLOR_HUMAN), "ANIMAL DNA" = "Y-")
return list("color" = BLOOD_COLOR_HUMAN, "ANIMAL DNA" = "Y-")
/mob/living/carbon/get_blood_dna_list()
var/blood_id = get_blood_id()
@@ -444,15 +444,15 @@
return
var/list/blood_dna = list()
if(dna)
blood_dna["color"] = list(dna.species.exotic_blood_color) //so when combined, the list grows with the number of colors
blood_dna["color"] = dna.species.exotic_blood_color //so when combined, the list grows with the number of colors
blood_dna[dna.unique_enzymes] = dna.blood_type
else
blood_dna["color"] = list(BLOOD_COLOR_HUMAN)
blood_dna["color"] = BLOOD_COLOR_HUMAN
blood_dna["UNKNOWN DNA"] = "X*"
return blood_dna
/mob/living/carbon/alien/get_blood_dna_list()
return list("color" = list(BLOOD_COLOR_XENO), "UNKNOWN DNA" = "X*")
return list("color" = BLOOD_COLOR_XENO, "UNKNOWN DNA" = "X*")
//to add a mob's dna info into an object's blood_DNA list.
/atom/proc/transfer_mob_blood_dna(mob/living/L)
@@ -461,25 +461,35 @@
if(!new_blood_dna)
return FALSE
LAZYINITLIST(blood_DNA) //if our list of DNA doesn't exist yet, initialise it.
LAZYINITLIST(blood_DNA["color"])
var/old_length = blood_DNA.len
blood_DNA |= new_blood_dna
blood_DNA["color"] += new_blood_dna["color"]
var/changed = FALSE
if(!blood_DNA["color"])
blood_DNA["color"] = new_blood_dna["color"]
changed = TRUE
else
var/old = blood_DNA["color"]
blood_DNA["color"] = BlendRGB(blood_DNA["color"], new_blood_dna["color"])
changed = old != blood_DNA["color"]
if(blood_DNA.len == old_length)
return FALSE
return TRUE
return changed
//to add blood dna info to the object's blood_DNA list
/atom/proc/transfer_blood_dna(list/blood_dna, list/datum/disease/diseases)
LAZYINITLIST(blood_DNA)
LAZYINITLIST(blood_dna["color"])
var/old_length = blood_DNA.len
blood_DNA |= blood_dna
if(blood_DNA.len > old_length)
blood_DNA["color"] += blood_dna["color"]
return TRUE
. = TRUE
//some new blood DNA was added
if(!blood_dna["color"])
return
if(!blood_DNA["color"])
blood_DNA["color"] = blood_dna["color"]
else
blood_DNA["color"] = BlendRGB(blood_DNA["color"], blood_dna["color"])
//to add blood from a mob onto something, and transfer their dna info
/atom/proc/add_mob_blood(mob/living/M)
@@ -548,27 +558,7 @@
return TRUE
/atom/proc/blood_DNA_to_color()
var/list/colors = list()//first we make a list of all bloodtypes present
for(var/blood_color in blood_DNA["color"])
if(colors[blood_color])
colors[blood_color]++
else
colors[blood_color] = 1
var/final_rgb = BLOOD_COLOR_HUMAN //a default so we don't have white blood graphics if something messed up
if(colors.len)
var/sum = 0 //this is all shitcode, but it works; trust me
final_rgb = colors[1]
sum = colors[colors[1]]
if(colors.len > 1)
var/i = 2
while(i <= colors.len)
var/tmp = colors[colors[i]]
final_rgb = BlendRGB(final_rgb, colors[i], tmp/(tmp+sum))
sum += tmp
i++
return final_rgb
return (blood_DNA && blood_DNA["color"]) || BLOOD_COLOR_HUMAN
/atom/proc/clean_blood()
. = blood_DNA? TRUE : FALSE
+8 -7
View File
@@ -2737,13 +2737,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.dna.update_body_size(old_size)
//speech stuff
var/new_tongue = GLOB.roundstart_tongues[custom_tongue]
if(new_tongue)
var/obj/item/organ/tongue/T = character.getorganslot(ORGAN_SLOT_TONGUE)
if(T)
qdel(T)
var/obj/item/organ/tongue/new_custom_tongue = new new_tongue
new_custom_tongue.Insert(character)
if(custom_tongue != "default")
var/new_tongue = GLOB.roundstart_tongues[custom_tongue]
if(new_tongue)
var/obj/item/organ/tongue/T = character.getorganslot(ORGAN_SLOT_TONGUE)
if(T)
qdel(T)
var/obj/item/organ/tongue/new_custom_tongue = new new_tongue
new_custom_tongue.Insert(character)
if(custom_speech_verb != "default")
character.dna.species.say_mod = custom_speech_verb
+2 -7
View File
@@ -325,7 +325,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
modless_key_bindings = sanitize_islist(modless_key_bindings, list())
verify_keybindings_valid() // one of these days this will runtime and you'll be glad that i put it in a different proc so no one gets their saves wiped
sanitize_speech_and_tongue()
return 1
@@ -347,12 +346,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(!GLOB.keybindings_by_name[bindname])
modless_key_bindings -= key
/datum/preferences/proc/sanitize_speech_and_tongue()
if(!(custom_speech_verb in GLOB.speech_verbs))
custom_speech_verb = GLOB.speech_verbs[1]
if(!(custom_tongue in GLOB.roundstart_tongues))
custom_tongue = GLOB.roundstart_tongues[1]
/datum/preferences/proc/save_preferences()
if(!path)
return 0
@@ -702,6 +695,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["balls_visibility"] = sanitize_inlist(features["balls_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES)
features["vag_visibility"] = sanitize_inlist(features["vag_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES)
custom_speech_verb = sanitize_inlist(custom_speech_verb, GLOB.speech_verbs, "default")
custom_tongue = sanitize_inlist(custom_tongue, GLOB.roundstart_tongues, "default")
features["flavor_text"] = copytext(features["flavor_text"], 1, MAX_FLAVOR_LEN)
features["silicon_flavor_text"] = copytext(features["silicon_flavor_text"], 1, MAX_FLAVOR_LEN)
+21 -4
View File
@@ -154,8 +154,12 @@
dat += "<tr><td>&nbsp;</td></tr>"
dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=[REF(src)];item=[SLOT_WEAR_SUIT]'>[(wear_suit && !(wear_suit.item_flags & ABSTRACT)) ? wear_suit : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=[REF(src)];item=[SLOT_WEAR_SUIT]'>[(wear_suit && !(wear_suit.item_flags & ABSTRACT)) ? wear_suit : "<font color=grey>Empty</font>"]</A>"
if(wear_suit)
if(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
var/hardsuit_head = head && istype(head, /obj/item/clothing/head/helmet/space/hardsuit)
dat += "&nbsp;<A href='?src=[REF(src)];toggle_helmet=[SLOT_WEAR_SUIT]'>[hardsuit_head ? "Retract Helmet" : "Extend Helmet"]</A>"
dat += "</td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>Suit Storage:</B></td><td><A href='?src=[REF(src)];item=[SLOT_S_STORE]'>[(s_store && !(s_store.item_flags & ABSTRACT)) ? s_store : "<font color=grey>Empty</font>"]</A>"
if(has_breathable_mask && istype(s_store, /obj/item/tank))
dat += "&nbsp;<A href='?src=[REF(src)];internal=[SLOT_S_STORE]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
@@ -224,13 +228,26 @@
return
SEND_SIGNAL(src, COMSIG_CARBON_EMBED_RIP, I, L)
return
if(href_list["toggle_helmet"])
var/hardsuit_head = head && istype(head, /obj/item/clothing/head/helmet/space/hardsuit)
visible_message("<span class='danger'>[usr] tries to [hardsuit_head ? "retract" : "extend"] [src]'s helmet.</span>", \
"<span class='userdanger'>[usr] tries to [hardsuit_head ? "retract" : "extend"] [src]'s helmet.</span>", \
target = usr, target_message = "<span class='danger'>You try to [hardsuit_head ? "retract" : "extend"] [src]'s helmet.</span>")
if(!do_mob(usr, src, POCKET_STRIP_DELAY))
return
visible_message("<span class='danger'>[usr] [hardsuit_head ? "retract" : "extend"] [src]'s helmet</span>", \
"<span class='userdanger'>[usr] [hardsuit_head ? "retract" : "extend"] [src]'s helmet</span>", \
target = usr, target_message = "<span class='danger'>You [hardsuit_head ? "retract" : "extend"] [src]'s helmet.</span>")
if(!istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
return
var/obj/item/clothing/suit/space/hardsuit/hardsuit = wear_suit //This should be an hardsuit given all our checks
hardsuit.ToggleHelmet()
return
if(href_list["item"])
var/slot = text2num(href_list["item"])
if(slot in check_obscured_slots())
to_chat(usr, "<span class='warning'>You can't reach that! Something is covering it.</span>")
return
return
if(href_list["pockets"])
var/strip_mod = 1
var/strip_silence = FALSE
@@ -85,8 +85,11 @@
FP.entered_dirs |= dir
FP.bloodiness = S.bloody_shoes[S.blood_state]
if(S.last_bloodtype)
FP.blood_DNA += list(S.last_blood_DNA = S.last_bloodtype)
FP.blood_DNA["color"] += S.last_blood_color
FP.blood_DNA[S.last_blood_DNA] = S.last_bloodtype
if(!FP.blood_DNA["color"])
FP.blood_DNA["color"] = S.last_blood_color
else
FP.blood_DNA["color"] = BlendRGB(FP.blood_DNA["color"], S.last_blood_color)
FP.update_icon()
update_inv_shoes()
//End bloody footprints
@@ -32,7 +32,7 @@
for (var/x in 1 to PILL_STYLE_COUNT)
var/list/SL = list()
SL["id"] = x
SL["htmltag"] = assets.icon_class_name("pill[x]")
SL["className"] = assets.icon_class_name("pill[x]")
pillStyles += list(SL)
. = ..()
@@ -71,7 +71,9 @@
if(data["blood_DNA"])
B.blood_DNA[data["blood_DNA"]] = data["blood_type"]
if(!B.blood_DNA["color"])
B.blood_DNA["color"] = list(data["bloodcolor"])
B.blood_DNA["color"] = data["bloodcolor"]
else
B.blood_DNA["color"] = BlendRGB(B.blood_DNA["color"], data["bloodcolor"])
if(B.reagents)
B.reagents.add_reagent(type, reac_volume)
B.update_icon()
+2
View File
@@ -219,6 +219,8 @@ Nothing else in the console has ID requirements.
/obj/machinery/computer/rdconsole/proc/ui_header()
var/list/l = list()
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/research_designs)
l += "[sheet.css_tag()][RDSCREEN_NOBREAK]"
l += "<div class='statusDisplay'><b>[stored_research.organization] Research and Development Network</b>"
l += "Available points: <BR>[techweb_point_display_rdconsole(stored_research.research_points, stored_research.last_bitcoins)]"
l += "Security protocols: [obj_flags & EMAGGED ? "<font color='red'>Disabled</font>" : "<font color='green'>Enabled</font>"]"
+38
View File
@@ -50,6 +50,44 @@
-->
<div class="commit sansserif">
<h2 class="date">03 July 2020</h2>
<h3 class="author">Arturlang updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">You can now toggle hardsuit helmets from the strip menu</li>
</ul>
<h3 class="author">Ghommie updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">fixed custom speech/tongue stuff.</li>
<li class="balance">Lowered shaft miners' paycheck, they have other ways to make cash.</li>
<li class="rscadd">You can't (un)equip garments on/from obscured inventory slots anymore.</li>
<li class="balance">The stamina cost multiplier for swinging melee weapons against mobs has been brought back to 1 from 0.8</li>
<li class="balance">The stamina cost for throwing mobs now scales with their mob size variable.</li>
</ul>
<h3 class="author">LetterN updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Ported some tags from tgui-3.0 to Vending.js</li>
<li class="bugfix">vending icons</li>
<li class="bugfix">r&d icons</li>
<li class="bugfix">chem master icons</li>
</ul>
<h3 class="author">Onule updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">titanium wall man good</li>
</ul>
<h3 class="author">Sonic121x updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Bringback the ChemMaster pill type button.</li>
<li class="bugfix">Fix Technode icon.</li>
</ul>
<h3 class="author">bunny232 updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Witchhunter hat no longer obscures mask ears ,eyes, face and mouth</li>
</ul>
<h3 class="author">timothyteakettle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">bloodpacks initialise correctly now</li>
</ul>
<h2 class="date">02 July 2020</h2>
<h3 class="author">Ghommie updated:</h3>
<ul class="changes bgimages16">
+24
View File
@@ -26208,3 +26208,27 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
How lazy!
silicons:
- bugfix: bohbombing is a thing now
2020-07-03:
Arturlang:
- rscadd: You can now toggle hardsuit helmets from the strip menu
Ghommie:
- bugfix: fixed custom speech/tongue stuff.
- balance: Lowered shaft miners' paycheck, they have other ways to make cash.
- rscadd: You can't (un)equip garments on/from obscured inventory slots anymore.
- balance: The stamina cost multiplier for swinging melee weapons against mobs has
been brought back to 1 from 0.8
- balance: The stamina cost for throwing mobs now scales with their mob size variable.
LetterN:
- tweak: Ported some tags from tgui-3.0 to Vending.js
- bugfix: vending icons
- bugfix: r&d icons
- bugfix: chem master icons
Onule:
- tweak: titanium wall man good
Sonic121x:
- bugfix: Bringback the ChemMaster pill type button.
- bugfix: Fix Technode icon.
bunny232:
- tweak: Witchhunter hat no longer obscures mask ears ,eyes, face and mouth
timothyteakettle:
- bugfix: bloodpacks initialise correctly now
@@ -1,4 +0,0 @@
author: "Ghommie"
delete-after: True
changes:
- rscadd: "You can't (un)equip garments on/from obscured inventory slots anymore."
@@ -1,4 +0,0 @@
author: "Ghommie"
delete-after: True
changes:
- balance: "Lowered shaft miners' paycheck, they have other ways to make cash."
@@ -1,5 +0,0 @@
author: "Ghommie"
delete-after: True
changes:
- balance: "The stamina cost multiplier for swinging melee weapons against mobs has been brought back to 1 from 0.8"
- balance: "The stamina cost for throwing mobs now scales with their mob size variable."
@@ -1,4 +0,0 @@
author: "bunny232"
delete-after: True
changes:
- tweak: "Witchhunter hat no longer obscures mask ears ,eyes, face and mouth"
@@ -1,7 +0,0 @@
author: "LetterN"
delete-after: True
changes:
- tweak: "Ported some tags from tgui-3.0 to Vending.js"
- bugfix: "vending icons"
- bugfix: "r&d icons"
- bugfix: "chem master icons"
@@ -1,4 +0,0 @@
author: "timothyteakettle"
delete-after: True
changes:
- bugfix: "bloodpacks initialise correctly now"
@@ -0,0 +1,4 @@
author: "silicons"
delete-after: True
changes:
- refactor: "blood_DNA[\"color\"] is now a single variable instead of a list"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB