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, "Wizard" = BE_WIZARD,
"Malf AI" = BE_MALF, "Malf AI" = BE_MALF,
"Revolutionary" = BE_REV, "Revolutionary" = BE_REV,
"Xenomorph" = BE_ALIEN, "Genaprawn" = BE_ALIEN, //CHOMPedit
"Positronic Brain" = BE_AI, "Positronic Brain" = BE_AI,
"Cultist" = BE_CULTIST, "Cultist" = BE_CULTIST,
"Renegade" = BE_RENEGADE, "Renegade" = BE_RENEGADE,

View File

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

View File

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

View File

@@ -231,7 +231,7 @@ var/list/gamemode_cache = list()
// 15, 45, 70 minutes respectively // 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/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/ninjas_allowed = 0
var/static/abandon_allowed = 1 var/static/abandon_allowed = 1
var/static/ooc_allowed = 1 var/static/ooc_allowed = 1

View File

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

View File

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

View File

@@ -56,10 +56,10 @@
// Check for bans properly. // Check for bans properly.
if(jobban_isbanned(user, MODE_XENOMORPH)) 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 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") if(!src || confirm != "Yes")
return return

View File

@@ -86,9 +86,9 @@
flags = RESTRICTED | HIVEMIND flags = RESTRICTED | HIVEMIND
/datum/language/xenocommon /datum/language/xenocommon
name = "Xenomorph" name = "Xenolingua" //CHOMPedit
colour = "alien" colour = "alien"
desc = "The common tongue of the xenomorphs." desc = "The common tongue of both the xenomorphs and the Genaprawns." //CHOMPedit
speech_verb = "hisses" speech_verb = "hisses"
ask_verb = "hisses" ask_verb = "hisses"
exclaim_verb = "hisses" exclaim_verb = "hisses"
@@ -98,7 +98,7 @@
/datum/language/xenos /datum/language/xenos
name = "Hivemind" 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" speech_verb = "hisses"
ask_verb = "hisses" ask_verb = "hisses"
exclaim_verb = "hisses" exclaim_verb = "hisses"

View File

@@ -55,7 +55,7 @@
/mob/living/carbon/alien/get_default_language() /mob/living/carbon/alien/get_default_language()
if(default_language) if(default_language)
return 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) /mob/living/carbon/alien/say_quote(var/message, var/datum/language/speaking = null)
var/verb = "hisses" var/verb = "hisses"

View File

@@ -12,5 +12,5 @@
/mob/living/carbon/alien/larva/Initialize() /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) 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, "<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>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>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") 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() /mob/living/carbon/alien/larva/show_evolution_blurb()
return return

View File

@@ -2,7 +2,7 @@
for(var/mob/living/carbon/human/Q in living_mob_list) for(var/mob/living/carbon/human/Q in living_mob_list)
if(self && ignore_self && self == Q) if(self && ignore_self && self == Q)
continue continue
if(Q.species.name != SPECIES_XENO_QUEEN) if(Q.species.name != SPECIES_GENA_QUEEN) //CHOMPedit
continue continue
if(!Q.key || !Q.client || Q.stat) if(!Q.key || !Q.client || Q.stat)
continue continue
@@ -80,7 +80,7 @@
/mob/living/carbon/human/proc/lay_egg() /mob/living/carbon/human/proc/lay_egg()
set name = "Lay Egg (200)" //CHOMPedit changed number value 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" set category = "Abilities"
if(!config.aliens_allowed) if(!config.aliens_allowed)
@@ -110,7 +110,7 @@
if(check_alien_ability(500)) 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>") 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 return

View File

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

View File

@@ -4,28 +4,28 @@ proc/create_new_xenomorph(var/alien_caste,var/target)
if(!target || !alien_caste) return if(!target || !alien_caste) return
var/mob/living/carbon/human/new_alien = new(target) 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 return new_alien
/mob/living/carbon/human/xdrone/New(var/new_loc) /mob/living/carbon/human/xdrone/New(var/new_loc)
h_style = "Bald" h_style = "Bald"
faction = "xeno" faction = "xeno"
..(new_loc, SPECIES_XENO_DRONE) ..(new_loc, SPECIES_GENA_DRONE) //CHOMPedit
/mob/living/carbon/human/xsentinel/New(var/new_loc) /mob/living/carbon/human/xsentinel/New(var/new_loc)
h_style = "Bald" h_style = "Bald"
faction = "xeno" faction = "xeno"
..(new_loc, SPECIES_XENO_SENTINEL) ..(new_loc, SPECIES_GENA_SENTINEL) //CHOMPedit
/mob/living/carbon/human/xhunter/New(var/new_loc) /mob/living/carbon/human/xhunter/New(var/new_loc)
h_style = "Bald" h_style = "Bald"
faction = "xeno" faction = "xeno"
..(new_loc, SPECIES_XENO_HUNTER) ..(new_loc, SPECIES_GENA_HUNTER) //CHOMPedit
/mob/living/carbon/human/xqueen/New(var/new_loc) /mob/living/carbon/human/xqueen/New(var/new_loc)
h_style = "Bald" h_style = "Bald"
faction = "xeno" 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 //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") temp_img = icon('icons/obj/butts_vr.dmi', "machine")
if(SPECIES_WEREBEAST) 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? 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") temp_img = icon('icons/obj/butts_vr.dmi', "xeno")
if(SPECIES_ZORREN_HIGH) if(SPECIES_ZORREN_HIGH)
temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // placeholder until we get zorren butts. temp_img = icon('icons/obj/butts_vr.dmi', "vulp") // placeholder until we get zorren butts.