diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm
index 391f5b719a9..313e6ba7519 100644
--- a/code/ZAS/Phoron.dm
+++ b/code/ZAS/Phoron.dm
@@ -116,18 +116,18 @@ obj/var/contaminated = 0
/mob/living/carbon/human/proc/burn_eyes()
- //The proc that handles eye burning.
- if(!species.has_organ["eyes"])
- return
+ //The proc that handles eye burning.
+ if(!species.has_organ["eyes"] || get_species() == "Vaurca")
+ return
- var/obj/item/organ/eyes/E = internal_organs_by_name["eyes"]
- if(E)
- if(prob(20)) src << "\red Your eyes burn!"
- E.damage += 2.5
- eye_blurry = min(eye_blurry+1.5,50)
- if (prob(max(0,E.damage - 15) + 1) &&!eye_blind)
- src << "\red You are blinded!"
- eye_blind += 20
+ var/obj/item/organ/eyes/E = internal_organs_by_name["eyes"]
+ if(E)
+ if(prob(20)) src << "\red Your eyes burn!"
+ E.damage += 2.5
+ eye_blurry = min(eye_blurry+1.5,50)
+ if (prob(max(0,E.damage - 15) + 1) &&!eye_blind)
+ src << "\red You are blinded!"
+ eye_blind += 20
/mob/living/carbon/human/proc/pl_head_protected()
//Checks if the head is adequately sealed.
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 5d290a6aa48..08b745468b4 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -863,7 +863,7 @@
/obj/item/seeds/sunflowerseed = 3,/obj/item/seeds/tomatoseed = 3,/obj/item/seeds/towermycelium = 3,/obj/item/seeds/wheatseed = 3,/obj/item/seeds/appleseed = 3,
/obj/item/seeds/poppyseed = 3,/obj/item/seeds/sugarcaneseed = 3,/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/peanutseed = 3,/obj/item/seeds/whitebeetseed = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/limeseed = 3,
/obj/item/seeds/lemonseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/cocoapodseed = 3,/obj/item/seeds/plumpmycelium = 2,
- /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3)
+ /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3,/obj/item/seeds/koisspore = 3)
contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/mtearseed = 2,
/obj/item/seeds/nettleseed = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/reishimycelium = 2,/obj/item/seeds/shandseed = 2,)
premium = list(/obj/item/toy/waterflower = 1)
diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm
index 34181486e49..2a628123bb0 100644
--- a/code/game/objects/items/trash.dm
+++ b/code/game/objects/items/trash.dm
@@ -7,6 +7,10 @@
w_class = 2.0
desc = "This is rubbish."
+/obj/item/trash/koisbar
+ name = "K'ois Bar Wrapper"
+ icon_state = "koisbar"
+
/obj/item/trash/raisins
name = "\improper 4no raisins"
icon_state= "4no_raisins"
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 548c5bcc907..2c61c0564fb 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -32,7 +32,6 @@ datum/preferences
//doohickeys for savefiles
var/path
var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used
- var/current_slot = 1
var/savefile_version = 0
//non-preference stuff
@@ -135,35 +134,17 @@ datum/preferences
var/metadata = ""
var/slot_name = ""
- //SQL Save system vars
- var/chardata[]
- var/jobsdata[]
- var/flavourdata[]
- var/miscdata[]
- var/DBQuery/query
- var/TextQuery
- var/char_id
- var/char_slot
-
/datum/preferences/New(client/C)
b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+")
if(istype(C))
if(!IsGuestKey(C.key))
load_path(C.ckey)
- log_debug("loading data for [C.ckey]")
- if(LoadPrefData(C.ckey))
- log_debug("Default slot loaded : [default_slot]")
- if(SQLload_character(default_slot, C.ckey))
- current_slot = default_slot
- log_debug("Character [real_name] loaded, slot is [current_slot]")
- return
if(load_preferences())
- if(load_character(default_slot))
- current_slot = getCharSlot_File()
+ if(load_character())
return
- //this ensure that if db fail the file system is used to load an initial character
gender = pick(MALE, FEMALE)
real_name = random_name(gender,species)
+
gear = list()
/datum/preferences/proc/ZeroSkills(var/forced = 0)
@@ -1382,7 +1363,7 @@ datum/preferences
s_tone = 35 - max(min( round(new_s_tone), 220),1)
if("skin")
- if(species == "Unathi" || species == "Tajara" || species == "Skrell" || species == "Machine")
+ if(species == "Unathi" || species == "Tajara" || species == "Skrell" || species == "Machine" || species == "Vaurca")
var/new_skin = input(user, "Choose your character's skin colour: ", "Character Preference", rgb(r_skin, g_skin, b_skin)) as color|null
if(new_skin)
r_skin = hex2num(copytext(new_skin, 2, 4))
@@ -1616,48 +1597,22 @@ datum/preferences
toggles ^= CHAT_GHOSTRADIO
if("save")
- for(var/ckey in preferences_datums)
- var/datum/preferences/D = preferences_datums[ckey]
- if(D == src)
- //switch comment to switch to file save system
- default_slot = current_slot
- SavePrefData(ckey)
- SQLsave_character(current_slot, ckey)
- //save_preferences()
- //save_character()
+ save_preferences()
+ save_character()
if("reload")
- for(var/ckey in preferences_datums)
- var/datum/preferences/D = preferences_datums[ckey]
- if(D == src)
- //switch comment to switch to file save system
- LoadPrefData(ckey)
- SQLload_character(current_slot, ckey)
- //load_preferences()
- //load_character()
+ load_preferences()
+ load_character()
if("open_load_dialog")
if(!IsGuestKey(user.key))
- //file system preferences
- //open_load_dialog_file(user)
open_load_dialog(user)
if("close_load_dialog")
close_load_dialog(user)
if("changeslot")
- for(var/ckey in preferences_datums)
- var/datum/preferences/D = preferences_datums[ckey]
- if(D == src)
- current_slot = text2num(href_list["num"])
- if(!SQLload_character(current_slot, ckey))
- gender = pick(MALE, FEMALE)
- real_name = random_name(gender,species)
- gear.Cut()
- ZeroSkills(1)
- ResetJobs()
- //file system load
- //load_character()
+ load_character(text2num(href_list["num"]))
close_load_dialog(user)
ShowChoices(user)
@@ -1775,44 +1730,6 @@ datum/preferences
var/dat = "
"
dat += ""
- for(var/ckey in preferences_datums)
- var/datum/preferences/D = preferences_datums[ckey]
- if(D == src)
- var/TextQuery = "SELECT Character_Name FROM SS13_characters WHERE ckey = '[ckey]' ORDER BY slot"
- var/DBQuery/query
- establish_db_connection(dbcon)
- if(!dbcon.IsConnected())
- open_load_dialog_file(user)
- query = dbcon.NewQuery(TextQuery)
- query.Execute()
- var/rows
- if(!query.RowCount())
- rows = 0
- else
- rows = query.RowCount()
- dat += "Select a character slot to load (SQL Edition !)
"
- var/name
- for(var/i=1, i<= config.character_slots, i++)
- log_debug("[rows] rows queried, i = [i]")
- if(i<=rows)
- query.NextRow()
- name = query.item[1]
- log_debug("adding [query.item[1]] to list")
- else name = "Character[i]"
- if(i==default_slot)
- name = "[name]"
- dat += "[name]
"
-
- dat += "
"
- dat += "Close
"
- dat += ""
- user << browse(dat, "window=saves;size=300x390")
-
-
-/datum/preferences/proc/open_load_dialog_file(mob/user)
- var/dat = ""
- dat += ""
-
var/savefile/S = new /savefile(path)
if(S)
dat += "Select a character slot to load
"
@@ -1824,39 +1741,11 @@ datum/preferences
if(i==default_slot)
name = "[name]"
dat += "[name]
"
+
dat += "
"
dat += "Close
"
dat += ""
user << browse(dat, "window=saves;size=300x390")
-/datum/preferences/proc/getCharSlot()
- for(var/ckey in preferences_datums)
- var/datum/preferences/D = preferences_datums[ckey]
- if(D == src)
- var/TextQuery = "SELECT slot FROM SS13_characters WHERE ckey = '[ckey]' AND Character_Name = '[real_name]'"
- var/DBQuery/query
- establish_db_connection(dbcon)
- if(!dbcon.IsConnected())
- getCharSlot_File()
- query = dbcon.NewQuery(TextQuery)
- query.Execute()
- if(!query.RowCount())
- return 1
- query.NextRow()
- return text2num(query.item[1])
- return 1
-
-
-/datum/preferences/proc/getCharSlot_File() //get character slot from savefile
- var/savefile/S = new /savefile(path)
- if(S)
- var/name
- for(var/i=1, i<= config.character_slots, i++)
- S.cd = "/character[i]"
- S["real_name"] >> name
- if(name == real_name)
- return i
- return 1
-
/datum/preferences/proc/close_load_dialog(mob/user)
user << browse(null, "window=saves")
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 2ee66ed285e..f9236a3ba10 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -205,7 +205,7 @@ BLIND // can't see anything
body_parts_covered = HANDS
slot_flags = SLOT_GLOVES
attack_verb = list("challenged")
- species_restricted = list("exclude","Unathi","Tajara")
+ species_restricted = list("exclude","Unathi","Tajara","Vaurca")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/gloves.dmi')
/obj/item/clothing/gloves/update_clothing_icon()
@@ -243,6 +243,7 @@ BLIND // can't see anything
if("exclude" in species_restricted)
species_restricted -= "Unathi"
species_restricted -= "Tajara"
+ species_restricted -= "Vaurca"
return
///////////////////////////////////////////////////////////////////////
@@ -335,7 +336,7 @@ BLIND // can't see anything
slowdown = SHOES_SLOWDOWN
force = 2
var/overshoes = 0
- species_restricted = list("exclude","Unathi","Tajara")
+ species_restricted = list("exclude","Unathi","Tajara","Vaurca")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/shoes.dmi')
var/silent = 0
diff --git a/code/modules/clothing/gloves/stungloves.dm b/code/modules/clothing/gloves/stungloves.dm
index caf0db0b7dd..ad14ed6ad31 100644
--- a/code/modules/clothing/gloves/stungloves.dm
+++ b/code/modules/clothing/gloves/stungloves.dm
@@ -74,6 +74,7 @@
if("exclude" in species_restricted)
species_restricted -= "Unathi"
species_restricted -= "Tajara"
+ species_restricted -= "Vaurca"
return
else
user << "The [src] have already been clipped!"
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 621da531152..40fd541f711 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -249,7 +249,7 @@
M.lastattacker = user
user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])"
M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])"
- msg_admin_attack("[key_name(user)] attacked [key_name(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)]) (JMP)" )
+ msg_admin_attack("[key_name(user)] attacked [key_name(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(damtype)])" )
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
@@ -403,4 +403,4 @@ var/list/fruit_icon_cache = list()
var/image/I = image(icon,"fruit_slice")
I.color = flesh_colour
fruit_icon_cache["slice-[rind_colour]"] = I
- overlays |= fruit_icon_cache["slice-[rind_colour]"]
+ overlays |= fruit_icon_cache["slice-[rind_colour]"]
\ No newline at end of file
diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm
index b8b05307883..94bc519aa43 100644
--- a/code/modules/hydroponics/seed_datums.dm
+++ b/code/modules/hydroponics/seed_datums.dm
@@ -322,6 +322,30 @@
set_trait(TRAIT_PLANT_COLOUR,"#D9C94E")
set_trait(TRAIT_PLANT_ICON,"mushroom")
+/datum/seed/koisspore
+ name = "koisspore"
+ seed_name = "kois"
+ seed_noun = "spires"
+ display_name = "k'ois spores"
+ mutants = null
+ chems = list("koispaste" = list(25))
+ splat_type = /obj/effect/plant
+ kitchen_tag = "koisspore"
+
+/datum/seed/koisspore/New()
+ ..()
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,8)
+ set_trait(TRAIT_POTENCY,60)
+ set_trait(TRAIT_BIOLUM,1)
+ set_trait(TRAIT_CARNIVOROUS,1)
+ set_trait(TRAIT_BIOLUM_COLOUR,"#94b21c")
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom11")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#94b21c")
+ set_trait(TRAIT_PLANT_COLOUR,"#94b21c")
+ set_trait(TRAIT_PLANT_ICON,"mushroom6")
+
/datum/seed/mushroom/mold
name = "mold"
seed_name = "brown mold"
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 093c4d7926f..f033c8d08cf 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -280,3 +280,6 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/thaadra
seed_type = "thaadra"
+
+/obj/item/seeds/koisspore
+ seed_type = "koisspore"
diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm
index 146749f3010..a37ee8aafa9 100644
--- a/code/modules/mob/living/carbon/human/human_powers.dm
+++ b/code/modules/mob/living/carbon/human/human_powers.dm
@@ -292,5 +292,5 @@
var/mob/living/M = G.affecting
if(!istype(M)) return //wut
M.apply_damage(30,BRUTE)
- if(M.stat == 2)
- M.gib()
\ No newline at end of file
+ // if(M.stat == 2)
+ // M.gib()
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 293be2d0dda..8041e7a24db 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -439,6 +439,13 @@
var/failed_inhale = 0
var/failed_exhale = 0
+ if(species.has_organ["breathing apparatus"])
+ var/obj/item/organ/vaurca/breathingapparatus/L = internal_organs_by_name["breathing apparatus"]
+ if(isnull(L))
+ poison_type = null
+ else if(L.is_broken())
+ poison_type = "oxygen" //if Vaurca breathing apparatus breaks, oxygen becomes poisonous.
+
if(species.breath_type)
breath_type = species.breath_type
else
@@ -1636,7 +1643,7 @@
else if(foundVirus)
holder.icon_state = "hudill"
/* else if(has_brain_worms())
- var/mob/living/simple_animal/borer/B = has_brain_worms() //Cotrical borer disable
+ var/mob/living/simple_animal/borer/B = has_brain_worms()
if(B.controlling)
holder.icon_state = "hudbrainworm"
else
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index a207dac1279..b71c3cae03d 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -251,7 +251,7 @@
synth_temp_gain = 10 //this should cause IPCs to stabilize at ~80 C in a 20 C environment.
- flags = CAN_JOIN | IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC | NO_POISON
+ flags = CAN_JOIN | IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC
blood_color = "#1F181F"
flesh_color = "#575757"
@@ -269,20 +269,29 @@
/datum/species/bug
name = "Vaurca"
- name_plural = "varucae"
+ name_plural = "Vaurcae"
icobase = 'icons/mob/human_races/r_vaurca.dmi'
deform = 'icons/mob/human_races/r_vaurca.dmi'
language = "Vaurcese"
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
rarity_value = 2
- slowdown = 1
- darksight = 5 //USELESS
- eyes = "blank_eyes"
+ slowdown = 0 //may become a bonus if vaurca gain more legs.
+ darksight = 8 //USELESS
+ eyes = "vaurca_eyes" //makes it so that eye colour is not changed when skin colour is.
brute_mod = 0.5 //note to self: remove is_synthetic checks for brmod and burnmod
- burn_mod = 2
+ burn_mod = 1.5 //2x was a bit too much. we'll see how this goes.
warning_low_pressure = 50
hazard_low_pressure = 0
+ siemens_coefficient = 0 //attempting to mimic the old insulation feature.
+ breath_type = "oxygen"
+ poison_type = "null" //a species that breathes plasma shouldn't be poisoned by it.
+ blurb = "Vaurca are a bipedal insectoid species from the first moon of Sedantis I. \
+ They have a complex caste system consisting of the lower slave caste called The Bound and the higher, free-thinking caste of the Unbound. \
+ The majority of Vaurca present in human-space belong to the former caste of Bound, and almost all Vaurca working on NanoTrasen Stations are similarly Bound. \
+ Although tolerated on Nanotrasen stations and in Tau Ceti, they are often discriminated against and are unwelcome in most human-owned \
+ sectors in the Sol Alliance. All Vaurca present in human space are colonists at the end of a 2,000 year journey, and all contact with \
+ their homeworld has been lost. All Vaurca legally present in Tau Ceti belong either to the Zo'ra hive, or the K'lax hive."
cold_level_1 = 50
cold_level_2 = -1
@@ -291,9 +300,10 @@
heat_level_1 = 330 //Default 360
heat_level_2 = 380 //Default 400
heat_level_3 = 600 //Default 1000
- flags = CAN_JOIN | IS_WHITELISTED | NO_SLIP | NO_SCAN
+ flags = CAN_JOIN | NO_SLIP | NO_SCAN | HAS_SKIN_COLOR | IS_WHITELISTED
blood_color = "#E6E600" // dark yellow
- flesh_color = "#575757"
+ flesh_color = "#E6E600"
+ base_color = "#575757"
inherent_verbs = list(
/mob/living/carbon/human/proc/bugbite //weaker version of gut.
@@ -310,3 +320,7 @@
"brain" = /obj/item/organ/brain,
"eyes" = /obj/item/organ/eyes,
)
+
+/datum/species/unathi/equip_survival_gear(var/mob/living/carbon/human/H)
+ ..()
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes)
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
index 62808ba4546..76abf6c14ad 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -1,4 +1,22 @@
/* Food */
+/datum/reagent/kois
+ name = "K'ois"
+ id = "koispaste"
+ description = "A thick goopy substance, rich in K'ois nutrients."
+ metabolism = REM * 4
+ var/nutriment_factor = 40
+ var/injectable = 0
+ color = "#dcd9cd"
+
+/datum/reagent/kois/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
+ if(M.get_species() == "Vaurca")
+ M.heal_organ_damage(0.8 * removed, 0)
+ M.nutrition += nutriment_factor * removed // For hunger and fatness
+ M.add_chemical_effect(CE_BLOODRESTORE, 6 * removed)
+ else
+ M.adjustToxLoss(1.5 * removed)
+ return
+ ..()
/datum/reagent/nutriment
name = "Nutriment"
@@ -17,10 +35,14 @@
affect_ingest(M, alien, removed)
/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
- M.heal_organ_damage(0.5 * removed, 0)
- M.nutrition += nutriment_factor * removed // For hunger and fatness
- M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed)
-
+ if(M.get_species() == "Vaurca")
+ M.adjustToxLoss(1.5 * removed)
+ else
+ M.heal_organ_damage(0.8 * removed, 0)
+ M.nutrition += nutriment_factor * removed // For hunger and fatness
+ M.add_chemical_effect(CE_BLOODRESTORE, 6 * removed)
+ return
+ ..()
/datum/reagent/nutriment/protein // Bad for Skrell!
name = "animal protein"
id = "protein"
@@ -299,7 +321,7 @@
M.eye_blind = max(M.eye_blind, 10)
if(mouth_covered)
- if(!message)
+ if(!message)
message = "Your [face_protection] protects you from the pepperspray!"
else if(!no_pain)
message = "Your face and throat burn!"
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 7119182b21d..3a7539c8dcb 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -89,7 +89,7 @@
M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]")
user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]")
- msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)]) (JMP)")
+ msg_admin_attack("[key_name(user)] fed [key_name(M)] with [src.name] Reagents: [reagentlist(src)] (INTENT: [uppertext(user.a_intent)])")
user.visible_message("[user] feeds [M] [src].")
@@ -245,6 +245,17 @@
+/obj/item/weapon/reagent_containers/food/snacks/koisbar
+ name = "K'ois Bar"
+ desc = "Bland NanoTrasen produced K'ois bars, rich in syrup."
+ icon_state = "koisbar"
+ trash = /obj/item/trash/koisbar
+ filling_color = "#dcd9cd"
+
+ New()
+ ..()
+ reagents.add_reagent("kois", 20)
+ bitesize = 5
/obj/item/weapon/reagent_containers/food/snacks/aesirsalad
name = "Aesir salad"
diff --git a/html/changelogs/LordFowl - Vaurca.yml b/html/changelogs/LordFowl - Vaurca.yml
new file mode 100644
index 00000000000..06e431c2316
--- /dev/null
+++ b/html/changelogs/LordFowl - Vaurca.yml
@@ -0,0 +1,45 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: LordFowl
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Added the option for Vaurca to have unique skin colours."
+ - rscadd: "Vaurca selection screen has a blurb + preview image."
+ - rscadd: "Added K'ois paste and fungi"
+ - rscadd: "Phoron no longer poisons Vaurca nor damages their eyes."
+ - rscadd: "Vaurca will recieve toxin damage if they breathe oxygen with broken lungs."
+ - rscadd: "Vaurca can no longer wear normal gloves or shoes."
+ - rscdel: "Vaurca can no longer gib lesser mobs via bite."
+ - rscdel: "Vaurca no longer have a slowness debuff."
+ - bugfix: "Vaurca are fully insulated again."
+ - bugfix: "Vaurca sprites have been fixed."
diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi
index d334efb02a6..23a1d52b641 100644
Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ
diff --git a/icons/mob/human_races/r_machine.dmi b/icons/mob/human_races/r_machine.dmi
index 2e3956f8464..281eec983d1 100644
Binary files a/icons/mob/human_races/r_machine.dmi and b/icons/mob/human_races/r_machine.dmi differ
diff --git a/icons/mob/human_races/r_vaurca.dmi b/icons/mob/human_races/r_vaurca.dmi
index 0343a618476..6bc5a4dcaf0 100644
Binary files a/icons/mob/human_races/r_vaurca.dmi and b/icons/mob/human_races/r_vaurca.dmi differ
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index 6b8c5b0a497..f1fdc9eca5f 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ
diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi
index 18b34ee20c2..072d9c6149c 100644
Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ