Xenobio2 Tweaks

Adds nameVar to products, sets it to products/xenos when they are created from the proper machinery.
Adds the manual injector to the machinery that can take beakers, preventing them from spilling onto the machine when inserted.
Tweaks the NanoUI to properly display percent mutated, adds a proper check to see if it is not a xeno occupant.
This commit is contained in:
Datraen
2016-05-28 20:06:51 -04:00
parent 9fba5882d7
commit 1e6ecb0c88
8 changed files with 13 additions and 7 deletions

View File

@@ -67,6 +67,7 @@
return 0 return 0
/obj/machinery/smartfridge/secure/extract/New() /obj/machinery/smartfridge/secure/extract/New()
..()
for(var/i=1 to 5) for(var/i=1 to 5)
var/obj/item/xenoproduct/slime/core/C = new(src) var/obj/item/xenoproduct/slime/core/C = new(src)
C.traits = new() C.traits = new()

View File

@@ -41,7 +41,8 @@
/obj/machinery/smartfridge/, /obj/machinery/smartfridge/,
/obj/machinery/biogenerator, /obj/machinery/biogenerator,
/obj/structure/frame, /obj/structure/frame,
/obj/machinery/radiocarbon_spectrometer /obj/machinery/radiocarbon_spectrometer,
/obj/machinery/xenobio2/manualinjector
) )
/obj/item/weapon/reagent_containers/glass/New() /obj/item/weapon/reagent_containers/glass/New()

View File

@@ -112,6 +112,8 @@
var/obj/item/xenoproduct/slime/core/C = new(src) var/obj/item/xenoproduct/slime/core/C = new(src)
C.traits = occupant.traitdat C.traits = occupant.traitdat
C.nameVar = occupant.nameVar
C.create_reagents(C.traits.traits[TRAIT_XENO_CHEMVOL]) C.create_reagents(C.traits.traits[TRAIT_XENO_CHEMVOL])
for(var/reagent in occupant.traitdat.chems) for(var/reagent in occupant.traitdat.chems)
C.reagents.add_reagent(reagent, occupant.traitdat.chems[reagent]) C.reagents.add_reagent(reagent, occupant.traitdat.chems[reagent])

View File

@@ -60,9 +60,10 @@
data["occupied"] = 1 data["occupied"] = 1
if(isxeno(injector.occupant)) if(isxeno(injector.occupant))
var/mob/living/simple_animal/xeno/X = injector.occupant var/mob/living/simple_animal/xeno/X = injector.occupant
data["instability"] = (X.mut_level / X.mut_max) * 100 data["compatible"] = 1
data["instability"] = 100 * (X.mut_level / X.mut_max)
else else
data["instability"] = null data["compatible"] = null
if(injector.beaker) if(injector.beaker)
data["reagentAmount"] = injector.beaker.reagents.total_volume data["reagentAmount"] = injector.beaker.reagents.total_volume

View File

@@ -74,6 +74,8 @@
spawn(30) spawn(30)
var/mob/living/simple_animal/xeno/slime/S = new(src) var/mob/living/simple_animal/xeno/slime/S = new(src)
S.traitdat = core.traits S.traitdat = core.traits
S.nameVar = core.nameVar
S.name = "[S.nameVar] baby slime"
S.ProcessTraits() S.ProcessTraits()
qdel(core) qdel(core)
spawn(30) spawn(30)

View File

@@ -51,8 +51,6 @@ Procs for targeting
if(!stasis) if(!stasis)
if(!reagents) if(!reagents)
return return
if(reagents.total_volume <= 0)
return
//Let's handle some chemical smoke, for scientific smoke bomb purposes. //Let's handle some chemical smoke, for scientific smoke bomb purposes.
for(var/obj/effect/effect/smoke/chem/smoke in view(1, src)) for(var/obj/effect/effect/smoke/chem/smoke in view(1, src))

View File

@@ -9,4 +9,5 @@ Xenobiological product lives here as a basic type.
var/datum/xeno/traits/traits var/datum/xeno/traits/traits
var/source = "Unknown" var/source = "Unknown"
var/product = "mess" var/product = "mess"
var/nameVar = "blah"

View File

@@ -11,7 +11,7 @@ Used In File(s): \code\modules\xenobio2\machines\injector_computer.dm
{{:data.reagentAmount}}u / {{:data.reagentMax}}u {{:data.reagentAmount}}u / {{:data.reagentMax}}u
{{:helper.displayBar(data.reagentAmount, data.reagentMax, data.reagentMin, 'good', null, 'displayBarBeaker')}} {{:helper.displayBar(data.reagentAmount, data.reagentMax, data.reagentMin, 'good', null, 'displayBarBeaker')}}
{{else}} {{else}}
<span class='bad'><b>ERRR%</b></span> <span class='bad'><b>ERR</b></span>
{{:helper.displayBar(data.reagentAmount, data.reagentMax, data.reagentMin, 'good', null, 'displayBarBeaker')}} {{:helper.displayBar(data.reagentAmount, data.reagentMax, data.reagentMin, 'good', null, 'displayBarBeaker')}}
{{/if}} {{/if}}
</div> </div>
@@ -23,7 +23,7 @@ Used In File(s): \code\modules\xenobio2\machines\injector_computer.dm
Instability: Instability:
</div> </div>
<div class="itemContent"> <div class="itemContent">
{{if data.instability}} {{if data.compatible}}
{{:data.instability}}% {{:data.instability}}%
{{else}} {{else}}
<span class='bad'><b>ERRR%</b></span> Please contact your local technician for assistance. <span class='bad'><b>ERRR%</b></span> Please contact your local technician for assistance.