Vaurca Update Dec2016 (#1289)

Adds Vaurca subspecies and a whole slew of content related to them. Also, custom organs for them.
This commit is contained in:
LordFowl
2016-12-25 01:11:09 +02:00
committed by skull132
parent 7724f096fa
commit 93143a8e45
83 changed files with 1621 additions and 1277 deletions
@@ -110,7 +110,7 @@
return
/datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if(M.get_species() == "Vaurca")//Vaurca are damaged instead of getting nutrients, but they can still get drunk
if(isvaurca(M))//Vaurca are damaged instead of getting nutrients, but they can still get drunk
M.adjustToxLoss(1.5 * removed * (strength / 100))
else
M.nutrition += nutriment_factor * removed
@@ -9,7 +9,7 @@
color = "#dcd9cd"
/datum/reagent/kois/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if(M.get_species() == "Vaurca")
if(isvaurca(M))
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)
@@ -37,7 +37,7 @@
affect_ingest(M, alien, removed)
/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if(M.get_species() == "Vaurca")
if(isvaurca(M))
M.adjustToxLoss(1.5 * removed)
if(alien && alien == IS_UNATHI)
return
@@ -51,11 +51,36 @@
strength = 30
touch_met = 5
/datum/reagent/toxin/phoron/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species.has_organ["filtration bit"] && isvaurca(H))
metabolism = REM * 10 //vaurcae metabolise phoron faster than other species - good for them if their filter isn't broken.
var/obj/item/organ/vaurca/filtrationbit/F = H.internal_organs_by_name["filtration bit"]
if(isnull(F))
..()
else if(F.is_broken())
..()
else if(H.species.has_organ["phoron reserve tank"])
var/obj/item/organ/vaurca/preserve/P = H.internal_organs_by_name["phoron reserve tank"]
if(isnull(P))
return
else if(P.is_broken())
return
else
P.air_contents.adjust_gas("phoron", (2*removed))
else
..()
else
..()
/datum/reagent/toxin/phoron/touch_mob(var/mob/living/L, var/amount)
if(istype(L))
L.adjust_fire_stacks(amount / 5)
/datum/reagent/toxin/phoron/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(isvaurca(M))
return
M.take_organ_damage(0, removed * 0.1) //being splashed directly with phoron causes minor chemical burns
if(prob(50))
M.pl_effects()
@@ -3309,6 +3309,7 @@
New()
..()
reagents.add_reagent("koispaste", 6)
reagents.add_reagent("phoron", 3)
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/friedkois/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -3331,7 +3332,8 @@
New()
..()
reagents.add_reagent("koispaste", 12)
reagents.add_reagent("koispaste", 6)
reagents.add_reagent("phoron", 3)
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/koiskebab1/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -3351,7 +3353,8 @@
New()
..()
reagents.add_reagent("koispaste", 18)
reagents.add_reagent("koispaste", 12)
reagents.add_reagent("phoron", 6)
bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/koiskebab2/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -3370,7 +3373,8 @@
New()
..()
reagents.add_reagent("koispaste", 24)
reagents.add_reagent("koispaste", 18)
reagents.add_reagent("phoron", 9)
bitesize = 9
/obj/item/weapon/reagent_containers/food/snacks/koissoup
@@ -3383,6 +3387,7 @@
New()
..()
reagents.add_reagent("koispaste", 15)
reagents.add_reagent("phoron", 5)
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/koiswaffles
@@ -3395,6 +3400,7 @@
New()
..()
reagents.add_reagent("koispaste", 25)
reagents.add_reagent("phoron", 5)
bitesize = 5
/obj/item/weapon/reagent_containers/food/snacks/koisjelly
@@ -3407,7 +3413,7 @@
..()
reagents.add_reagent("koispaste", 25)
reagents.add_reagent("imidazoline", 20)
reagents.add_reagent("hyperzine", 5)
reagents.add_reagent("phoron", 10)
bitesize = 5
//unathi snacks - sprites by Araskael
@@ -28,6 +28,15 @@
// TODO: rewrite kitchen code to check a var on the meat item so we can remove
// all these sybtypes.
/obj/item/weapon/reagent_containers/food/snacks/meat/human
/obj/item/weapon/reagent_containers/food/snacks/meat/bug
filling_color = "#E6E600"
New()
..()
reagents.add_reagent("protein", 9)
reagents.add_reagent("phoron", 27)
src.bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey
//same as plain meat
@@ -164,7 +164,7 @@
injtime = injtime * 2
else if(!H.can_inject(user, 1))
return
if(H.get_species() == "Vaurca")
if(isvaurca(H))
injtime = injtime * 2
else if(isliving(target))
@@ -176,7 +176,7 @@
if(injtime == time)
user.visible_message("<span class='warning'>[user] is trying to inject [target] with [visible_name]!</span>")
else
if(H.get_species() == "Vaurca")
if(isvaurca(H))
user.visible_message("<span class='warning'>[user] begins hunting for an injection port on [target]'s carapace!</span>")
else
user.visible_message("<span class='warning'>[user] begins hunting for an injection port on [target]'s suit!</span>")