mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-15 00:53:23 +01:00
ChangesP1
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
item_state = "syringe_0"
|
||||
icon_state = "lepopen"
|
||||
var/used = FALSE
|
||||
var/choice
|
||||
|
||||
/obj/item/dnascrambler/update_icon_state()
|
||||
if(used)
|
||||
@@ -31,16 +32,35 @@
|
||||
injected(user, user)
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] is trying to inject [M] with [src]!</span>")
|
||||
if(do_mob(user,M,30))
|
||||
if(do_mob(user,M, 10 SECONDS))
|
||||
user.visible_message("<span class='danger'>[user] injects [M] with [src].</span>")
|
||||
injected(M, user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You failed to inject [M].</span>")
|
||||
//To-do: Organs change, visual bugs, default set if nothing selected
|
||||
/obj/item/dnascrambler/AltClick(mob/user)
|
||||
var/list/specieschange = list("Diona" = image(icon = 'icons/mob/human_races/r_diona.dmi', icon_state = "preview"),
|
||||
"Human" = image(icon = 'icons/mob/human_races/r_human.dmi', icon_state = "preview"),
|
||||
"Skrell" = image(icon = 'icons/mob/human_races/r_skrell.dmi', icon_state = "preview"),
|
||||
"Tajaran" = image(icon = 'icons/mob/human_races/r_tajaran.dmi', icon_state = "preview"),
|
||||
"Unathi" = image(icon = 'icons/mob/human_races/r_lizard.dmi', icon_state = "preview"),
|
||||
"Vulp" = image(icon = 'icons/mob/human_races/r_vulpkanin.dmi', icon_state = "preview"),
|
||||
"Nian" = image(icon = 'icons/mob/human_races/r_moth.dmi', icon_state = "preview"),
|
||||
)
|
||||
specieschange["Grey"] = image(icon = 'icons/mob/human_races/r_grey.dmi', icon_state = "preview")
|
||||
specieschange["Kidan"] = image(icon = 'icons/mob/human_races/r_kidan.dmi', icon_state = "preview")
|
||||
specieschange["Plasmaman"] = image(icon = 'icons/mob/human_races/r_plasmaman_sb.dmi', icon_state = "body")
|
||||
specieschange["Slime"] = image(icon = 'icons/mob/human_races/r_slime.dmi', icon_state = "preview")
|
||||
specieschange["Vox"] = image(icon = 'icons/mob/human_races/vox/r_vox.dmi', icon_state = "preview")
|
||||
specieschange["Drask"] = image(icon = 'icons/mob/human_races/r_drask.dmi', icon_state = "template")
|
||||
choice = show_radial_menu(user, src, specieschange, radius = 40)
|
||||
|
||||
/obj/item/dnascrambler/proc/injected(mob/living/carbon/human/target, mob/living/carbon/user)
|
||||
if(istype(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
scramble(1, H, 100)
|
||||
if(isnull(choice))
|
||||
return
|
||||
scramble(H, choice)
|
||||
H.real_name = random_name(H.gender, H.dna.species.name) //Give them a name that makes sense for their species.
|
||||
H.sync_organ_dna(assimilate = 1)
|
||||
H.update_body()
|
||||
@@ -54,3 +74,41 @@
|
||||
used = TRUE
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
name = "used " + name
|
||||
|
||||
/obj/item/dnascrambler/proc/scramble(mob/living/carbon/human/M, choice)
|
||||
if(!M || !M.dna)
|
||||
return
|
||||
switch(choice)
|
||||
if("Grey")
|
||||
M.dna.species = new /datum/species/grey()
|
||||
if("Human")
|
||||
M.dna.species = new /datum/species/human()
|
||||
if("Diona")
|
||||
M.dna.species = new /datum/species/diona()
|
||||
if("Kidan")
|
||||
M.dna.species = new /datum/species/kidan()
|
||||
if("Plasmaman")
|
||||
M.dna.species = new /datum/species/plasmaman()
|
||||
if("Skrell")
|
||||
M.dna.species = new /datum/species/skrell()
|
||||
if("Slime")
|
||||
M.dna.species = new /datum/species/slime()
|
||||
if("Tajaran")
|
||||
M.dna.species = new /datum/species/tajaran()
|
||||
if("Unathi")
|
||||
M.dna.species = new /datum/species/unathi()
|
||||
if("Vox")
|
||||
M.dna.species = new /datum/species/vox()
|
||||
if("Vulp")
|
||||
M.dna.species = new /datum/species/vulpkanin()
|
||||
if("Drask")
|
||||
M.dna.species = new /datum/species/drask()
|
||||
if("Nian")
|
||||
M.dna.species = new /datum/species/moth()
|
||||
M.dna.check_integrity()
|
||||
for(var/i = 1, i <= DNA_UI_LENGTH - 1, i++)
|
||||
M.dna.SetUIValue(i, rand(1, 4095), 1)
|
||||
M.dna.UpdateUI()
|
||||
M.dna.UpdateSE()
|
||||
M.UpdateAppearance()
|
||||
domutcheck(M)
|
||||
|
||||
Reference in New Issue
Block a user