mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-26 01:52:15 +00:00
Adds aliens zombies (#6966)
* Adds aliens zombies. * Adds changelog and some checks.
This commit is contained in:
@@ -1175,7 +1175,7 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You failed to check the pulse. Try again.</span>")
|
||||
|
||||
/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/kpg=0)
|
||||
/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/kpg=0, var/change_hair = TRUE)
|
||||
cached_bodytype = null
|
||||
if(!dna)
|
||||
if(!new_species)
|
||||
@@ -1263,7 +1263,8 @@
|
||||
nutrition_loss = HUNGER_FACTOR * species.nutrition_loss_factor
|
||||
hydration_loss = THIRST_FACTOR * species.hydration_loss_factor
|
||||
|
||||
species.set_default_hair(src)
|
||||
if(change_hair)
|
||||
species.set_default_hair(src)
|
||||
|
||||
if(species)
|
||||
return 1
|
||||
|
||||
@@ -135,9 +135,9 @@
|
||||
/datum/species/zombie
|
||||
name = "Zombie"
|
||||
name_plural = "Zombies"
|
||||
bodytype = "Zombie"
|
||||
icobase = 'icons/mob/human_races/r_zombie.dmi'
|
||||
deform = 'icons/mob/human_races/r_zombie.dmi'
|
||||
bodytype = "Human"
|
||||
icobase = 'icons/mob/human_races/zombie/r_zombie.dmi'
|
||||
deform = 'icons/mob/human_races/zombie/r_zombie.dmi'
|
||||
|
||||
hide_name = TRUE
|
||||
|
||||
@@ -195,4 +195,84 @@
|
||||
|
||||
/datum/species/zombie/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
H.mutations.Add(CLUMSY)
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
/datum/species/zombie/tajara
|
||||
name = "Tajara Zombie"
|
||||
name_plural = "Tajara Zombies"
|
||||
bodytype = "Tajara"
|
||||
icobase = 'icons/mob/human_races/zombie/r_zombie_tajara.dmi'
|
||||
deform = 'icons/mob/human_races/zombie/r_zombie_tajara.dmi'
|
||||
tail = "tajtail"
|
||||
tail_animation = 'icons/mob/species/tajaran/tail.dmi'
|
||||
|
||||
slowdown = -1
|
||||
brute_mod = 1.2
|
||||
fall_mod = 0.5
|
||||
|
||||
name_language = LANGUAGE_SIIK_MAAS
|
||||
|
||||
remains_type = /obj/effect/decal/remains/xeno
|
||||
|
||||
move_trail = /obj/effect/decal/cleanable/blood/tracks/paw
|
||||
|
||||
default_h_style = "Tajaran Ears"
|
||||
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
|
||||
/datum/species/zombie/unathi
|
||||
name = "Unathi Zombie"
|
||||
name_plural = "Unathi Zombies"
|
||||
bodytype = "Unathi"
|
||||
icobase = 'icons/mob/human_races/zombie/r_zombie_unathi.dmi'
|
||||
deform = 'icons/mob/human_races/zombie/r_zombie_unathi.dmi'
|
||||
tail = "sogtail"
|
||||
tail_animation = 'icons/mob/species/unathi/tail.dmi'
|
||||
|
||||
slowdown = 0.5
|
||||
brute_mod = 0.8
|
||||
grab_mod = 0.75
|
||||
fall_mod = 1.2
|
||||
|
||||
mob_size = 10
|
||||
climb_coeff = 1.35
|
||||
|
||||
name_language = LANGUAGE_UNATHI
|
||||
|
||||
remains_type = /obj/effect/decal/remains/xeno
|
||||
|
||||
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
|
||||
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
|
||||
/datum/species/zombie/skrell
|
||||
name = "Skrell Zombie"
|
||||
name_plural = "Skrell Zombies"
|
||||
bodytype = "Skrell"
|
||||
icobase = 'icons/mob/human_races/zombie/r_zombie_skrell.dmi'
|
||||
deform = 'icons/mob/human_races/zombie/r_zombie_skrell.dmi'
|
||||
|
||||
grab_mod = 1.25
|
||||
|
||||
name_language = LANGUAGE_SKRELLIAN
|
||||
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_SOCKS
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/commune,
|
||||
/mob/living/carbon/human/proc/sonar_ping,
|
||||
/mob/living/carbon/human/proc/darkness_eyes,
|
||||
/mob/living/proc/devour
|
||||
)
|
||||
|
||||
flesh_color = "#8CD7A3"
|
||||
blood_color = "#1D2CBF"
|
||||
|
||||
remains_type = /obj/effect/decal/remains/xeno
|
||||
|
||||
has_organ = list(
|
||||
"zombie" = /obj/item/organ/parasite/zombie,
|
||||
/obj/item/organ/brain/skrell
|
||||
)
|
||||
|
||||
default_h_style = "Skrell Short Tentacles"
|
||||
@@ -208,6 +208,8 @@
|
||||
var/list/allowed_citizenships = list(CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_FRONTIER, CITIZENSHIP_ELYRA, CITIZENSHIP_ERIDANI, CITIZENSHIP_DOMINIA)
|
||||
var/list/allowed_religions = list(RELIGION_NONE, RELIGION_OTHER, RELIGION_CHRISTIANITY, RELIGION_ISLAM, RELIGION_JUDAISM, RELIGION_HINDU, RELIGION_BUDDHISM, RELIGION_MOROZ, RELIGION_TRINARY)
|
||||
|
||||
var/zombie_type //What zombie species they become
|
||||
|
||||
/datum/species/proc/get_eyes(var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
|
||||
@@ -36,4 +36,6 @@
|
||||
climb_coeff = 1
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/tie_hair)
|
||||
/mob/living/carbon/human/proc/tie_hair)
|
||||
|
||||
zombie_type = "Zombie"
|
||||
@@ -61,5 +61,7 @@
|
||||
allowed_citizenships = list(CITIZENSHIP_JARGON, CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_FRONTIER, CITIZENSHIP_ELYRA, CITIZENSHIP_ERIDANI, CITIZENSHIP_DOMINIA)
|
||||
allowed_religions = list(RELIGION_QEBLAK, RELIGION_WEISHII, RELIGION_NONE, RELIGION_OTHER, RELIGION_CHRISTIANITY, RELIGION_ISLAM, RELIGION_MOROZ)
|
||||
|
||||
zombie_type = "Skrell Zombie"
|
||||
|
||||
/datum/species/skrell/can_breathe_water()
|
||||
return TRUE
|
||||
|
||||
@@ -70,6 +70,8 @@
|
||||
allowed_citizenships = list(CITIZENSHIP_PRA, CITIZENSHIP_BIESEL, CITIZENSHIP_FRONTIER, CITIZENSHIP_ELYRA, CITIZENSHIP_ERIDANI, CITIZENSHIP_DOMINIA)
|
||||
allowed_religions = list(RELIGION_TWINSUNS, RELIGION_MATAKE, RELIGION_RASKARA, RELIGION_NONE, RELIGION_OTHER, RELIGION_CHRISTIANITY, RELIGION_ISLAM, RELIGION_MOROZ)
|
||||
|
||||
zombie_type = "Tajara Zombie"
|
||||
|
||||
/datum/species/tajaran/before_equip(var/mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
var/obj/item/clothing/shoes/sandal/S = new /obj/item/clothing/shoes/sandal(H)
|
||||
|
||||
@@ -87,6 +87,8 @@
|
||||
allowed_citizenships = list(CITIZENSHIP_IZWESKI, CITIZENSHIP_DOMINIA, CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_FRONTIER, CITIZENSHIP_ELYRA, CITIZENSHIP_ERIDANI)
|
||||
allowed_religions = list(RELIGION_THAKH, RELIGION_SKAKH, RELIGION_AUTAKH, RELIGION_MOROZ, RELIGION_NONE, RELIGION_OTHER, RELIGION_CHRISTIANITY, RELIGION_ISLAM)
|
||||
|
||||
zombie_type = "Unathi Zombie"
|
||||
|
||||
/datum/species/unathi/before_equip(var/mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
var/obj/item/clothing/shoes/sandal/S = new /obj/item/clothing/shoes/sandal(H)
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
return 1
|
||||
if("Aut'akh Unathi")
|
||||
return 1
|
||||
if ("Unathi Zombie")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/isautakh(A)
|
||||
@@ -57,11 +59,17 @@
|
||||
return 1
|
||||
if("M'sai Tajara")
|
||||
return 1
|
||||
if ("Tajara Zombie")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/isskrell(A)
|
||||
if(istype(A, /mob/living/carbon/human) && (A:get_species() == "Skrell"))
|
||||
return 1
|
||||
if(istype(A, /mob/living/carbon/human))
|
||||
switch(A:get_species())
|
||||
if ("Skrell")
|
||||
return 1
|
||||
if ("Skrell Zombie")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/isvaurca(A)
|
||||
@@ -119,6 +127,12 @@
|
||||
return 1
|
||||
if ("Zombie")
|
||||
return 1
|
||||
if ("Tajara Zombie")
|
||||
return 1
|
||||
if ("Unathi Zombie")
|
||||
return 1
|
||||
if ("Skrell Zombie")
|
||||
return 1
|
||||
if ("Apparition")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -257,12 +257,18 @@
|
||||
if(stage >= 4)
|
||||
if(prob(10))
|
||||
if(!isundead(owner))
|
||||
if(ishuman_species(owner))
|
||||
if(owner.species.zombie_type)
|
||||
var/r = owner.r_skin
|
||||
var/g = owner.g_skin
|
||||
var/b = owner.b_skin
|
||||
|
||||
for(var/datum/language/L in owner.languages)
|
||||
owner.remove_language(L.name)
|
||||
to_chat(owner, "<span class='warning'>You feel life leaving your husk, but death rejects you...</span>")
|
||||
playsound(src.loc, 'sound/hallucinations/far_noise.ogg', 50, 1)
|
||||
to_chat(owner, "<font size='3'><span class='cult'>All that is left is a cruel hunger for the flesh of the living, and the desire to spread this infection. You must consume all the living!</font></span>")
|
||||
owner.set_species("Zombie")
|
||||
owner.set_species(owner.species.zombie_type, 0, 0, 0)
|
||||
owner.change_skin_color(r, g, b)
|
||||
owner.update_dna()
|
||||
else
|
||||
owner.adjustToxLoss(50)
|
||||
@@ -689,7 +689,7 @@
|
||||
var/obj/item/organ/parasite/zombie/infest = new()
|
||||
infest.replaced(H, affected)
|
||||
|
||||
if(ishuman_species(H))
|
||||
if(H.species.zombie_type)
|
||||
if(!H.internal_organs_by_name["brain"]) //destroying the brain stops trioxin from bringing the dead back to life
|
||||
return
|
||||
|
||||
@@ -699,7 +699,12 @@
|
||||
for(var/datum/language/L in H.languages)
|
||||
H.remove_language(L.name)
|
||||
|
||||
H.set_species("Zombie")
|
||||
var/r = H.r_skin
|
||||
var/g = H.g_skin
|
||||
var/b = H.b_skin
|
||||
|
||||
H.set_species(H.species.zombie_type, 0, 0, 0)
|
||||
H.revive()
|
||||
H.change_skin_color(r, g, b)
|
||||
playsound(H.loc, 'sound/hallucinations/far_noise.ogg', 50, 1)
|
||||
to_chat(H,"<font size='3'><span class='cult'>You return back to life as the undead, all that is left is the hunger to consume the living and the will to spread the infection.</font></span>")
|
||||
Reference in New Issue
Block a user