Merge pull request #1682 from MisterGrimm/Genaprawns

Player Xenomorph Overhaul 1.1 , the Genaprawns
This commit is contained in:
Nadyr
2021-03-28 21:53:36 -04:00
committed by GitHub
15 changed files with 48 additions and 56 deletions

View File

@@ -50,7 +50,7 @@ var/list/be_special_flags = list(
"Wizard" = BE_WIZARD,
"Malf AI" = BE_MALF,
"Revolutionary" = BE_REV,
"Xenomorph" = BE_ALIEN,
"Genaprawn" = BE_ALIEN, //CHOMPedit
"Positronic Brain" = BE_AI,
"Cultist" = BE_CULTIST,
"Renegade" = BE_RENEGADE,

View File

@@ -316,13 +316,13 @@
#define SPECIES_VR_SKELETON "Virtual Reality Skeleton"
#define SPECIES_VR_VOX "Virtual Reality Vox"
// Ayyy IDs.
#define SPECIES_XENO "Xenomorph"
#define SPECIES_XENO_DRONE "Xenomorph Drone"
#define SPECIES_XENO_HUNTER "Xenomorph Hunter"
#define SPECIES_XENO_SENTINEL "Xenomorph Sentinel"
#define SPECIES_XENO_QUEEN "Xenomorph Queen"
// Ayyy IDs. CHOMPedit
#define SPECIES_GENA "Genaprawn"
#define SPECIES_GENA_DRONE "Genaprawn Drone"
#define SPECIES_GENA_HUNTER "Genaprawn Hunter"
#define SPECIES_GENA_SENTINEL "Genaprawn Sentinel"
#define SPECIES_GENA_QUEEN "Genaprawn Queen"
//CHOMPedit end
// Misc species. Mostly unused but might as well be complete.
#define SPECIES_SHADOW "Shadow"
#define SPECIES_SKELETON "Skeleton"

View File

@@ -466,11 +466,11 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
SPECIES_MONKEY_NEVREAN,
SPECIES_MONKEY_SERGAL,
SPECIES_MONKEY_VULPKANIN,
SPECIES_XENO, //Same for xenos,
SPECIES_XENO_DRONE,
SPECIES_XENO_HUNTER,
SPECIES_XENO_SENTINEL,
SPECIES_XENO_QUEEN,
SPECIES_GENA, //Same for xenos, CHOMPedit
SPECIES_GENA_DRONE,
SPECIES_GENA_HUNTER,
SPECIES_GENA_SENTINEL,
SPECIES_GENA_QUEEN, //CHOMPedit end
SPECIES_SHADOW,
SPECIES_GOLEM, //Some special species that may or may not be ever used in event too,
SPECIES_SHADEKIN) //Shadefluffers just poof away

View File

@@ -231,7 +231,7 @@ var/list/gamemode_cache = list()
// 15, 45, 70 minutes respectively
var/static/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000)
var/static/aliens_allowed = 1 //CHOMPedit to 1. This not only allows the natural spawning of xenos, but also the ability to lay eggs. Xenomorphs cannot lay eggs if this is 0
var/static/aliens_allowed = 1 //CHOMPedit to 1. This not only allows the natural spawning of xenos, but also the ability to lay eggs. Genaprawns cannot lay eggs if this is 0
var/static/ninjas_allowed = 0
var/static/abandon_allowed = 1
var/static/ooc_allowed = 1

View File

@@ -3,8 +3,8 @@ var/datum/antagonist/xenos/xenomorphs
/datum/antagonist/xenos
id = MODE_XENOMORPH
role_type = BE_ALIEN
role_text = "Xenomorph"
role_text_plural = "Xenomorphs"
role_text = "Genaprawn" //CHOMPedit
role_text_plural = "Genaprawns" //CHOMPedit
mob_path = /mob/living/carbon/alien/larva
bantype = "Xenomorph"
flags = ANTAG_OVERRIDE_MOB | ANTAG_RANDSPAWN | ANTAG_OVERRIDE_JOB | ANTAG_VOTABLE

View File

@@ -380,7 +380,7 @@
return
if(isnull(subject) || (!(ishuman(subject))) || (!subject.dna))
if(isalien(subject))
set_scan_temp("Xenomorphs are not scannable.", "bad")
set_scan_temp("Genaprawns are not scannable.", "bad") //CHOMPedit
SStgui.update_uis(src)
return
// can add more conditions for specific non-human messages here

View File

@@ -56,10 +56,10 @@
// Check for bans properly.
if(jobban_isbanned(user, MODE_XENOMORPH))
to_chat(user, "<span class='danger'>You are banned from playing a Xenomorph.</span>")
to_chat(user, "<span class='danger'>You are banned from playing a Genaprawn.</span>") //CHOMPedit
return
var/confirm = alert(user, "Are you sure you want to join as a Xenomorph larva?", "Become Larva", "No", "Yes")
var/confirm = alert(user, "Are you sure you want to join as a Genaprawn larva?", "Become Larva", "No", "Yes") //CHOMPedit
if(!src || confirm != "Yes")
return

View File

@@ -86,9 +86,9 @@
flags = RESTRICTED | HIVEMIND
/datum/language/xenocommon
name = "Xenomorph"
name = "Xenolingua" //CHOMPedit
colour = "alien"
desc = "The common tongue of the xenomorphs."
desc = "The common tongue of both the xenomorphs and the Genaprawns." //CHOMPedit
speech_verb = "hisses"
ask_verb = "hisses"
exclaim_verb = "hisses"
@@ -98,7 +98,7 @@
/datum/language/xenos
name = "Hivemind"
desc = "Xenomorphs have the strange ability to commune over a psychic hivemind."
desc = "Some aliens have the strange ability to commune over a psychic hivemind." //CHOMPedit
speech_verb = "hisses"
ask_verb = "hisses"
exclaim_verb = "hisses"

View File

@@ -55,7 +55,7 @@
/mob/living/carbon/alien/get_default_language()
if(default_language)
return default_language
return GLOB.all_languages["Xenomorph"]
return GLOB.all_languages["Xenolingua"] //CHOMPedit
/mob/living/carbon/alien/say_quote(var/message, var/datum/language/speaking = null)
var/verb = "hisses"

View File

@@ -12,5 +12,5 @@
/mob/living/carbon/alien/larva/Initialize()
. = ..()
add_language("Xenomorph") //Bonus language.
add_language("Xenolingua") //Bonus language. CHOMPedit
internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src)

View File

@@ -9,9 +9,9 @@
to_chat(src, "<span class='notice'>There are three to choose from:</span>")
to_chat(src, "<B>Hunters</B> <span class='notice'> are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.</span>")
to_chat(src, "<B>Sentinels</B> <span class='notice'> are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.</span>")
to_chat(src, "<B>Drones</B> <span class='notice'> are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.</span>")
to_chat(src, "<B>Drones</B> <span class='notice'> are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded Genaprawn queen.</span>") //CHOMPedit
var/alien_caste = alert(src, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone")
return alien_caste ? "Xenomorph [alien_caste]" : null
return alien_caste ? "Genaprawn [alien_caste]" : null //CHOMPedit
/mob/living/carbon/alien/larva/show_evolution_blurb()
return

View File

@@ -2,7 +2,7 @@
for(var/mob/living/carbon/human/Q in living_mob_list)
if(self && ignore_self && self == Q)
continue
if(Q.species.name != SPECIES_XENO_QUEEN)
if(Q.species.name != SPECIES_GENA_QUEEN) //CHOMPedit
continue
if(!Q.key || !Q.client || Q.stat)
continue
@@ -80,7 +80,7 @@
/mob/living/carbon/human/proc/lay_egg()
set name = "Lay Egg (200)" //CHOMPedit changed number value
set desc = "Lay an egg to produce huggers to impregnate prey with."
set desc = "Lay an egg that hatch into larva." //CHOMPedit
set category = "Abilities"
if(!config.aliens_allowed)
@@ -110,7 +110,7 @@
if(check_alien_ability(500))
visible_message("<span class='alium'><B>[src] begins to twist and contort!</B></span>", "<span class='alium'>You begin to evolve!</span>")
src.set_species("Xenomorph Queen")
src.set_species("Genaprawn Queen") //CHOMPedit
return

View File

@@ -1,9 +1,9 @@
//Stand-in until this is made more lore-friendly.
/datum/species/xenos
name = SPECIES_XENO
name_plural = "Xenomorphs"
name = SPECIES_GENA //CHOMPedit
name_plural = "Genaprawns" //CHOMPedit
default_language = "Xenomorph"
default_language = "Xenolingua" //CHOMPedit
language = "Hivemind"
assisted_langs = list()
unarmed_types = list(/datum/unarmed_attack/claws/strong/xeno, /datum/unarmed_attack/bite/strong/xeno)
@@ -93,10 +93,10 @@
)
/datum/species/xenos/get_bodytype()
return SPECIES_XENO
return SPECIES_GENA //CHOMPedit
/datum/species/xenos/get_random_name()
return "alien [caste_name] ([alien_number])"
return "Genaprawn [caste_name] ([alien_number])" //CHOMPedit
/datum/species/xenos/can_understand(var/mob/other)
if(istype(other, /mob/living/carbon/alien/larva))
@@ -114,7 +114,7 @@
H.mind.special_role = "Alien"
alien_number++ //Keep track of how many aliens we've had so far.
H.real_name = "alien [caste_name] ([alien_number])"
H.real_name = "Genaprawn [caste_name] ([alien_number])" //CHOMPedit
H.name = H.real_name
..()
@@ -167,18 +167,10 @@
return 1
return 0
/*
/datum/species/xenos/handle_login_special(var/mob/living/carbon/human/H)
H.AddInfectionImages()
..()
/datum/species/xenos/handle_logout_special(var/mob/living/carbon/human/H)
H.RemoveInfectionImages()
..()
*/
//CHOMPedit removed infection images, since they do not exist anymore.
/datum/species/xenos/drone
name = SPECIES_XENO_DRONE
name = SPECIES_GENA_DRONE //CHOMPedit
caste_name = "drone"
weeds_plasma_rate = 15
slowdown = 1
@@ -218,7 +210,7 @@
..()
/datum/species/xenos/hunter
name = SPECIES_XENO_HUNTER
name = SPECIES_GENA_HUNTER //CHOMPedit
weeds_plasma_rate = 5
caste_name = "hunter"
slowdown = -2
@@ -248,7 +240,7 @@
)
/datum/species/xenos/sentinel
name = SPECIES_XENO_SENTINEL
name = SPECIES_GENA_SENTINEL //CHOMPedit
weeds_plasma_rate = 10
caste_name = "sentinel"
slowdown = 0
@@ -281,7 +273,7 @@
/datum/species/xenos/queen
name = SPECIES_XENO_QUEEN
name = SPECIES_GENA_QUEEN //CHOMPedit
total_health = 300 //CHOMPedit. Queen is chonk
weeds_heal_rate = 5
weeds_plasma_rate = 20
@@ -325,10 +317,10 @@
..()
// Make sure only one official queen exists at any point.
if(!alien_queen_exists(1,H))
H.real_name = "alien queen ([alien_number])"
H.real_name = "Genaprawn queen ([alien_number])" //CHOMPedit
H.name = H.real_name
else
H.real_name = "alien princess ([alien_number])"
H.real_name = "Genaprawn princess ([alien_number])" //CHOMPedit
H.name = H.real_name
/datum/hud_data/alien

View File

@@ -4,28 +4,28 @@ proc/create_new_xenomorph(var/alien_caste,var/target)
if(!target || !alien_caste) return
var/mob/living/carbon/human/new_alien = new(target)
new_alien.set_species("Xenomorph [alien_caste]")
new_alien.set_species("Genaprawn [alien_caste]") //CHOMPedit
return new_alien
/mob/living/carbon/human/xdrone/New(var/new_loc)
h_style = "Bald"
faction = "xeno"
..(new_loc, SPECIES_XENO_DRONE)
..(new_loc, SPECIES_GENA_DRONE) //CHOMPedit
/mob/living/carbon/human/xsentinel/New(var/new_loc)
h_style = "Bald"
faction = "xeno"
..(new_loc, SPECIES_XENO_SENTINEL)
..(new_loc, SPECIES_GENA_SENTINEL) //CHOMPedit
/mob/living/carbon/human/xhunter/New(var/new_loc)
h_style = "Bald"
faction = "xeno"
..(new_loc, SPECIES_XENO_HUNTER)
..(new_loc, SPECIES_GENA_HUNTER) //CHOMPedit
/mob/living/carbon/human/xqueen/New(var/new_loc)
h_style = "Bald"
faction = "xeno"
..(new_loc, SPECIES_XENO_QUEEN)
..(new_loc, SPECIES_GENA_QUEEN) //CHOMPedit
//CHOMPedit. Removed AddInfectionImages code, due to it being commented out and not used

View File

@@ -286,7 +286,7 @@
temp_img = icon('icons/obj/butts_vr.dmi', "machine")
if(SPECIES_WEREBEAST)
temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // Give Werewolves their own thicc'er than a boal of oatmeal ass sprite someday?
if(SPECIES_XENOHYBRID, SPECIES_XENO, SPECIES_XENO_DRONE, SPECIES_XENO_HUNTER, SPECIES_XENO_QUEEN, SPECIES_XENO_SENTINEL) // Xenos + Xenohybrids have their own asses, thanks to Pybro.
if(SPECIES_XENOHYBRID, SPECIES_GENA, SPECIES_GENA_DRONE, SPECIES_GENA_HUNTER, SPECIES_GENA_QUEEN, SPECIES_GENA_SENTINEL) // Xenos + Xenohybrids have their own asses, thanks to Pybro. CHOMPedit
temp_img = icon('icons/obj/butts_vr.dmi', "xeno")
if(SPECIES_ZORREN_HIGH)
temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // placeholder until we get zorren butts.