mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-04 14:33:58 +00:00
Merge branch 'master' into upstream-merge-10025
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
var/list/title_strings = list()
|
||||
var/preset_rank = FALSE
|
||||
|
||||
/obj/item/weapon/card/id/event/attack_self(mob/user as mob)
|
||||
/obj/item/weapon/card/id/event/attack_self(var/mob/user)
|
||||
if(configured == 1)
|
||||
return ..()
|
||||
|
||||
@@ -28,10 +28,12 @@
|
||||
configured = 1
|
||||
to_chat(user, "<span class='notice'>Card settings set.</span>")
|
||||
|
||||
/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, mob/user as mob)
|
||||
/obj/item/weapon/card/id/event/attackby(obj/item/I as obj, var/mob/user)
|
||||
if(istype(I, /obj/item/weapon/card/id) && !accessset)
|
||||
var/obj/item/weapon/card/id/O = I
|
||||
access |= O.access
|
||||
desc = I.desc
|
||||
rank = O.rank
|
||||
to_chat(user, "<span class='notice'>You copy the access from \the [I] to \the [src].</span>")
|
||||
user.drop_from_inventory(I)
|
||||
qdel(I)
|
||||
@@ -52,31 +54,24 @@
|
||||
icon = 'icons/obj/card_vr.dmi'
|
||||
base_icon = 'icons/obj/card_vr.dmi'
|
||||
icon_state = "itg"
|
||||
item_state = "itg_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/green
|
||||
icon_state = "itg_green"
|
||||
item_state = "itg_green_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/red
|
||||
icon_state = "itg_red"
|
||||
item_state = "itg_red_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/purple
|
||||
icon_state = "itg_purple"
|
||||
item_state = "itg_purple_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/white
|
||||
icon_state = "itg_white"
|
||||
item_state = "itg_white_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/orange
|
||||
icon_state = "itg_orange"
|
||||
item_state = "itg_orange_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/blue
|
||||
icon_state = "itg_blue"
|
||||
item_state = "itg_blue_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew
|
||||
name = "\improper ITG Crew ID"
|
||||
@@ -97,7 +92,6 @@
|
||||
assignment = "Cook"
|
||||
rank = "Cook"
|
||||
icon_state = "itg_green"
|
||||
item_state = "itg_green_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/security
|
||||
name = "\improper ITG Security's ID"
|
||||
@@ -105,7 +99,6 @@
|
||||
assignment = "Security"
|
||||
rank = "Security"
|
||||
icon_state = "itg_red"
|
||||
item_state = "itg_red_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/research
|
||||
name = "\improper ITG Research's ID"
|
||||
@@ -113,7 +106,6 @@
|
||||
assignment = "Research"
|
||||
rank = "Research"
|
||||
icon_state = "itg_purple"
|
||||
item_state = "itg_purple_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/medical
|
||||
name = "\improper ITG Medic's ID"
|
||||
@@ -121,7 +113,6 @@
|
||||
assignment = "Medic"
|
||||
rank = "Medic"
|
||||
icon_state = "itg_white"
|
||||
item_state = "itg_white_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/engineer
|
||||
name = "\improper ITG Engineer's ID"
|
||||
@@ -129,7 +120,6 @@
|
||||
assignment = "Engineer"
|
||||
rank = "Engineer"
|
||||
icon_state = "itg_orange"
|
||||
item_state = "itg_orange_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/passengerliason
|
||||
name = "\improper ITG Passenger Liason's ID"
|
||||
@@ -137,7 +127,6 @@
|
||||
assignment = "Passenger Liason"
|
||||
rank = "Passenger Liason"
|
||||
icon_state = "itg_blue"
|
||||
item_state = "itg_blue_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/captain
|
||||
name = "\improper ITG Captain's ID"
|
||||
@@ -145,131 +134,140 @@
|
||||
assignment = "Captain"
|
||||
rank = "Captain"
|
||||
icon_state = "itg_blue"
|
||||
item_state = "itg_blue_id"
|
||||
access = list(777, 778)
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard
|
||||
icon = 'icons/obj/card_alt_vr.dmi'
|
||||
base_icon = 'icons/obj/card_alt_vr.dmi'
|
||||
icon_state = "id"
|
||||
item_state = "id_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/hop
|
||||
icon_state = "silver"
|
||||
item_state = "silver_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/cap
|
||||
icon_state = "cap"
|
||||
item_state = "cap_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/centcom
|
||||
icon_state = "centcom"
|
||||
item_state = "centcom_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/cargo
|
||||
icon_state = "cargo"
|
||||
item_state = "cargo_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/qm
|
||||
icon_state = "cargoGold"
|
||||
item_state = "cargoGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/miner
|
||||
icon_state = "miner"
|
||||
item_state = "miner_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/sci
|
||||
icon_state = "sci"
|
||||
item_state = "sci_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/rd
|
||||
icon_state = "sciGold"
|
||||
item_state = "sciGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/sec
|
||||
icon_state = "sec"
|
||||
item_state = "sec_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/hos
|
||||
icon_state = "secGold"
|
||||
item_state = "secGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/warden
|
||||
icon_state = "warden"
|
||||
item_state = "warden_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/eng
|
||||
icon_state = "eng"
|
||||
item_state = "eng_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/ce
|
||||
icon_state = "engGold"
|
||||
item_state = "engGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/atmos
|
||||
icon_state = "atmos"
|
||||
item_state = "atmos_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/med
|
||||
icon_state = "med"
|
||||
item_state = "med_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/cmo
|
||||
icon_state = "medGold"
|
||||
item_state = "medGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/paramed
|
||||
icon_state = "paramed"
|
||||
item_state = "paramed_id"
|
||||
/obj/item/weapon/card/id/event/altcard/spare
|
||||
icon_state = "spare"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/clown
|
||||
icon_state = "clown"
|
||||
item_state = "clown_id"
|
||||
icon_state = "Clown"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/mime
|
||||
icon_state = "mime"
|
||||
item_state = "mime_id"
|
||||
icon_state = "Mime"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/syndie
|
||||
icon_state = "syndie"
|
||||
item_state = "syndie_id"
|
||||
/obj/item/weapon/card/id/event/altcard/centcom
|
||||
icon_state = "CentCom Officer"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/ert
|
||||
icon_state = "Emergency Responder"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/nt
|
||||
icon_state = "nanotrasen"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/syndiegold
|
||||
icon_state = "syndieGold"
|
||||
item_state = "syndieGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/green
|
||||
icon_state = "green"
|
||||
item_state = "green_id"
|
||||
/obj/item/weapon/card/id/event/altcard/syndie
|
||||
icon_state = "syndie"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/greengold
|
||||
icon_state = "greenGold"
|
||||
item_state = "greenGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/explo
|
||||
icon_state = "explo"
|
||||
item_state = "explo_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/pf
|
||||
icon_state = "exploGold"
|
||||
item_state = "exploGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/fm
|
||||
icon_state = "fieldmed"
|
||||
item_state = "fieldmed_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/chaplain
|
||||
icon_state = "chaplain"
|
||||
item_state = "chaplain_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/nanotrasen
|
||||
icon_state = "nanotrasen"
|
||||
item_state = "nanotrasen_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/pink
|
||||
icon_state = "pink"
|
||||
item_state = "pink_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/altcard/pinkgold
|
||||
icon_state = "pinkGold"
|
||||
item_state = "pinkGold_id"
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic
|
||||
var/base_icon_state
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null)
|
||||
var/gimmeicon = icon
|
||||
. = ..()
|
||||
icon = gimmeicon
|
||||
icon_state = base_icon_state + "_digested"
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/altcard/attack_self(var/mob/user)
|
||||
if(configured == 1)
|
||||
return ..()
|
||||
else
|
||||
icon_state = user.job
|
||||
base_icon_state = user.job
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/altcard
|
||||
icon = 'icons/obj/card_alt_vr.dmi'
|
||||
base_icon = 'icons/obj/card_alt_vr.dmi'
|
||||
icon_state = "blank"
|
||||
name = "contractor identification card"
|
||||
desc = "An ID card typically used by contractors."
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/itg/attack_self(var/mob/user)
|
||||
if(!configured)
|
||||
var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up!
|
||||
"Pilot" = "itg",
|
||||
"Visitor" = "itg",
|
||||
"Quartermaster" = "itg",
|
||||
"Cargo Technician" = "itg",
|
||||
"Shaft Miner" = "itg",
|
||||
"Intern" = "itg",
|
||||
"Talon Pilot" = "itg",
|
||||
"Bartender" = "itg_green",
|
||||
"Botanist" = "itg_green",
|
||||
"Chef" = "itg_green",
|
||||
"Janitor" = "itg_green",
|
||||
"Chaplain" = "itg_green",
|
||||
"Entertainer" = "itg_green",
|
||||
"Janitor" = "itg_green",
|
||||
"Librarian" = "itg_green",
|
||||
"Warden" = "itg_red",
|
||||
"Detective" = "itg_red",
|
||||
"Security Officer" = "itg_red",
|
||||
"Talon Guard" = "itg_red",
|
||||
"Roboticist" = "itg_purple",
|
||||
"Scientist" = "itg_purple",
|
||||
"Xenobiologist" = "itg_purple",
|
||||
"Xenobotanist" = "itg_purple",
|
||||
"Pathfinder" = "itg_purple",
|
||||
"Explorer" = "itg_purple",
|
||||
"Chemist" = "itg_white",
|
||||
"Medical Doctor" = "itg_white",
|
||||
"Paramedic" = "itg_white",
|
||||
"Psychiatrist" = "itg_white",
|
||||
"Field Medic" = "itg_white",
|
||||
"Talon Doctor" = "itg_white",
|
||||
"Atmospheric Technician" = "itg_orange",
|
||||
"Station Engineer" = "itg_orange",
|
||||
"Off-duty Officer" = "itg_red",
|
||||
"Off-duty Engineer" = "itg_orange",
|
||||
"Off-duty Medic" = "itg_white",
|
||||
"Off-duty Scientist" = "itg_purple",
|
||||
"Off-duty Cargo" = "itg",
|
||||
"Off-duty Explorer" = "itg_purple",
|
||||
"Off-duty Worker" = "itg_green"
|
||||
)
|
||||
var/guess = jobs_to_icon[user.job]
|
||||
|
||||
if(!guess)
|
||||
to_chat(user, "<span class='notice'>ITG Cards do not seem to be able to accept the access codes for your ID.</span>")
|
||||
return
|
||||
else
|
||||
icon_state = guess
|
||||
base_icon_state = guess
|
||||
. = ..()
|
||||
name = user.name + "'s ITG ID card" + " ([assignment])"
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user)
|
||||
if(istype(I, /obj/item/weapon/card/id) && !accessset)
|
||||
var/obj/item/weapon/card/id/O = I
|
||||
var/list/itgdont = list("Site Manager", "Head of Personnel", "Command Secretary", "Head of Security", "Chief Engineer", "Chief Medical Officer", "Research Director", "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG
|
||||
if(O.rank in itgdont)
|
||||
to_chat(user, "<span class='notice'>ITG Cards do not seem to be able to accept the access codes for your ID.</span>")
|
||||
return
|
||||
. = ..()
|
||||
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/event/polymorphic/itg
|
||||
icon = 'icons/obj/card_vr.dmi'
|
||||
base_icon = 'icons/obj/card_vr.dmi'
|
||||
icon_state = "itg"
|
||||
name = "\improper ITG identification card"
|
||||
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
|
||||
|
||||
@@ -1047,7 +1047,7 @@
|
||||
character_name = list("Roanna Ti'Rox")
|
||||
|
||||
/datum/gear/fluff/harmony_id
|
||||
path = /obj/item/weapon/card/id/event/fluff/harmony
|
||||
path = /obj/item/weapon/card/id/event/polymorphic/itg
|
||||
display_name = "Harmony's ITG-ID card"
|
||||
ckeywhitelist = list("verysoft")
|
||||
character_name = list("Harmony")
|
||||
|
||||
@@ -55,3 +55,8 @@
|
||||
display_name = "science dufflebag"
|
||||
path = /obj/item/weapon/storage/backpack/dufflebag/sci
|
||||
allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Xenobotanist","Explorer","Pathfinder")
|
||||
|
||||
/datum/gear/utility/ID
|
||||
display_name = "contractor identification card"
|
||||
path = /obj/item/weapon/card/id/event/polymorphic/altcard
|
||||
cost = 1
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -97,6 +97,11 @@
|
||||
icon_state = "eyes_sergal"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
/datum/sprite_accessory/marking/vr/closedeyes
|
||||
name = "Closed Eyes"
|
||||
icon_state = "eyes_closed"
|
||||
body_parts = list(BP_HEAD)
|
||||
|
||||
/datum/sprite_accessory/marking/vr/brows
|
||||
name = "Eyebrows"
|
||||
icon_state = "brows"
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -795,16 +795,6 @@
|
||||
desc = "A primarily blue ID with a holographic 'WAH' etched onto its back. The letters do not obscure anything important on the card. It is shiny and it feels very bumpy."
|
||||
title_strings = list("Amaya Rahl's Wah-identification card", "Amaya Rahl's Wah-ID card")
|
||||
|
||||
//verysoft:Harmony - Custom ID (pilot)
|
||||
/obj/item/weapon/card/id/event/fluff/harmony
|
||||
registered_name = "CONFIGURE ME"
|
||||
assignment = "CONFIGURE ME"
|
||||
icon = 'icons/obj/card_vr.dmi'
|
||||
base_icon = 'icons/obj/card_vr.dmi'
|
||||
icon_state = "itg"
|
||||
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
|
||||
title_strings = list("Harmony's ITG-ID card")
|
||||
|
||||
//General use, Verk felt like sharing.
|
||||
/obj/item/clothing/glasses/fluff/science_proper
|
||||
name = "Aesthetic Science Goggles"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 46 KiB |
Reference in New Issue
Block a user