mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
@@ -153,8 +153,7 @@ proc/admin_notice(var/message, var/rights)
|
||||
\[ Crew: <A href='?src=\ref[src];simplemake=human;mob=\ref[M]'>Human</A>
|
||||
<A href='?src=\ref[src];simplemake=human;species=Unathi;mob=\ref[M]'>Unathi</A>
|
||||
<A href='?src=\ref[src];simplemake=human;species=Tajaran;mob=\ref[M]'>Tajaran</A>
|
||||
<A href='?src=\ref[src];simplemake=human;species=Skrell;mob=\ref[M]'>Skrell</A>
|
||||
<A href='?src=\ref[src];simplemake=human;species=Vox;mob=\ref[M]'>Vox</A> \] | \[
|
||||
<A href='?src=\ref[src];simplemake=human;species=Skrell;mob=\ref[M]'>Skrell</A> \] | \[
|
||||
<A href='?src=\ref[src];simplemake=nymph;mob=\ref[M]'>Nymph</A>
|
||||
<A href='?src=\ref[src];simplemake=human;species='Diona';mob=\ref[M]'>Diona</A> \] |
|
||||
\[ slime: <A href='?src=\ref[src];simplemake=slime;mob=\ref[M]'>Baby</A>,
|
||||
@@ -1356,7 +1355,7 @@ proc/admin_notice(var/message, var/rights)
|
||||
message_admins(msg)
|
||||
else
|
||||
usr << "You do not have access to this command."
|
||||
|
||||
|
||||
/datum/admins/proc/add_tcrystals(mob/living/carbon/human/H as mob)
|
||||
set category = "Debug"
|
||||
set name = "Add Telecrystals"
|
||||
|
||||
@@ -822,7 +822,7 @@ var/list/admin_verbs_mentor = list(
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
usr << "\red You can only do this to humans!"
|
||||
return
|
||||
switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Vox and Tajaran can result in unintended consequences.",,"Yes","No"))
|
||||
switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Tajaran can result in unintended consequences.",,"Yes","No"))
|
||||
if("No")
|
||||
return
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Sprites used when the clothing item is refit. This is done by setting icon_override.
|
||||
For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary.
|
||||
Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits),
|
||||
while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. vox wearing jumpsuits).
|
||||
while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. aliens wearing jumpsuits).
|
||||
*/
|
||||
var/list/sprite_sheets_refit = null
|
||||
var/ear_protection = 0
|
||||
@@ -204,9 +204,8 @@
|
||||
body_parts_covered = HANDS
|
||||
slot_flags = SLOT_GLOVES
|
||||
attack_verb = list("challenged")
|
||||
species_restricted = list("exclude","Unathi","Tajara", "Vox")
|
||||
species_restricted = list("exclude","Unathi","Tajara")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/gloves.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/gloves.dmi',
|
||||
)
|
||||
|
||||
@@ -264,7 +263,6 @@
|
||||
var/on = 0
|
||||
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/head.dmi'
|
||||
)
|
||||
|
||||
@@ -363,7 +361,6 @@
|
||||
slot_flags = SLOT_MASK
|
||||
body_parts_covered = FACE|EYES
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/masks.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/masks.dmi',
|
||||
)
|
||||
|
||||
@@ -397,9 +394,8 @@
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
force = 2
|
||||
var/overshoes = 0
|
||||
species_restricted = list("exclude","Teshari", "Unathi","Tajara","Vox")
|
||||
species_restricted = list("exclude","Teshari", "Unathi","Tajara")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/shoes.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/shoes.dmi',
|
||||
)
|
||||
|
||||
@@ -474,7 +470,6 @@
|
||||
w_class = 3
|
||||
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/suit.dmi'
|
||||
)
|
||||
|
||||
@@ -511,7 +506,6 @@
|
||||
var/rolled_down = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
|
||||
var/rolled_sleeves = -1 //0 = unrolled, 1 = rolled, -1 = cannot be toggled
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/uniform.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/uniform.dmi'
|
||||
)
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ BLIND // can't see anything
|
||||
var/obj/screen/overlay = null
|
||||
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/eyes.dmi'
|
||||
)
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
desc = "an ultra rare hat. It commands a certain respect."
|
||||
icon_state = "petehat"
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/head.dmi'
|
||||
)
|
||||
|
||||
|
||||
@@ -43,12 +43,6 @@
|
||||
siemens_coefficient = 0.7
|
||||
body_parts_covered = FACE|EYES
|
||||
|
||||
/obj/item/clothing/mask/gas/swat/vox
|
||||
name = "\improper alien mask"
|
||||
desc = "Clearly not designed for a human face."
|
||||
body_parts_covered = 0 //Hack to allow vox to eat while wearing this mask.
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/mask/gas/syndicate
|
||||
name = "tactical mask"
|
||||
desc = "A close-fitting tactical mask that can be connected to an air supply."
|
||||
|
||||
@@ -28,141 +28,3 @@
|
||||
/obj/item/clothing/suit/space/skrell/black
|
||||
icon_state = "skrell_suit_black"
|
||||
item_state = "skrell_suit_black"
|
||||
|
||||
// Vox space gear (vaccuum suit, low pressure armour)
|
||||
// Can't be equipped by any other species due to bone structure and vox cybernetics.
|
||||
/obj/item/clothing/suit/space/vox
|
||||
w_class = 3
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank)
|
||||
slowdown = 2
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0.6
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0.6
|
||||
item_flags = STOPPRESSUREDAMAGE
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/pressure
|
||||
name = "alien helmet"
|
||||
icon_state = "vox-pressure"
|
||||
item_state = "vox-pressure"
|
||||
desc = "Hey, wasn't this a prop in \'The Abyss\'?"
|
||||
|
||||
/obj/item/clothing/suit/space/vox/pressure
|
||||
name = "alien pressure suit"
|
||||
icon_state = "vox-pressure"
|
||||
item_state = "vox-pressure"
|
||||
desc = "A huge, armoured, pressurized suit, designed for distinctly nonhuman proportions."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/carapace
|
||||
name = "alien visor"
|
||||
icon_state = "vox-carapace"
|
||||
item_state = "vox-carapace"
|
||||
desc = "A glowing visor, perhaps stolen from a depressed Cylon."
|
||||
|
||||
/obj/item/clothing/suit/space/vox/carapace
|
||||
name = "alien carapace armour"
|
||||
icon_state = "vox-carapace"
|
||||
item_state = "vox-carapace"
|
||||
desc = "An armoured, segmented carapace with glowing purple lights. It looks pretty run-down."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/stealth
|
||||
name = "alien stealth helmet"
|
||||
icon_state = "vox-stealth"
|
||||
item_state = "vox-stealth"
|
||||
desc = "A smoothly contoured, matte-black alien helmet."
|
||||
|
||||
/obj/item/clothing/suit/space/vox/stealth
|
||||
name = "alien stealth suit"
|
||||
icon_state = "vox-stealth"
|
||||
item_state = "vox-stealth"
|
||||
desc = "A sleek black suit. It seems to have a tail, and is very heavy."
|
||||
|
||||
/obj/item/clothing/head/helmet/space/vox/medic
|
||||
name = "alien goggled helmet"
|
||||
icon_state = "vox-medic"
|
||||
item_state = "vox-medic"
|
||||
desc = "An alien helmet with enormous goggled lenses."
|
||||
|
||||
/obj/item/clothing/suit/space/vox/medic
|
||||
name = "alien armour"
|
||||
icon_state = "vox-medic"
|
||||
item_state = "vox-medic"
|
||||
desc = "An almost organic looking nonhuman pressure suit."
|
||||
|
||||
/obj/item/clothing/under/vox
|
||||
has_sensor = 0
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/under/vox/vox_casual
|
||||
name = "alien clothing"
|
||||
desc = "This doesn't look very comfortable."
|
||||
icon_state = "vox-casual-1"
|
||||
item_state = "vox-casual-1"
|
||||
body_parts_covered = LEGS
|
||||
|
||||
/obj/item/clothing/under/vox/vox_robes
|
||||
name = "alien robes"
|
||||
desc = "Weird and flowing!"
|
||||
icon_state = "vox-casual-2"
|
||||
item_state = "vox-casual-2"
|
||||
|
||||
/obj/item/clothing/gloves/yellow/vox
|
||||
desc = "These bizarre gauntlets seem to be fitted for... bird claws?"
|
||||
name = "insulated gauntlets"
|
||||
icon_state = "gloves-vox"
|
||||
item_state = "gloves-vox"
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
species_restricted = list("Vox")
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox
|
||||
|
||||
desc = "A pair of heavy, jagged armoured foot pieces, seemingly suitable for a velociraptor."
|
||||
name = "vox magclaws"
|
||||
item_state = "boots-vox"
|
||||
icon_state = "boots-vox"
|
||||
species_restricted = list("Vox")
|
||||
|
||||
action_button_name = "Toggle the magclaws"
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox/attack_self(mob/user)
|
||||
if(src.magpulse)
|
||||
item_flags &= ~NOSLIP
|
||||
magpulse = 0
|
||||
canremove = 1
|
||||
user << "You relax your deathgrip on the flooring."
|
||||
else
|
||||
//make sure these can only be used when equipped.
|
||||
if(!ishuman(user))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if (H.shoes != src)
|
||||
user << "You will have to put on the [src] before you can do that."
|
||||
return
|
||||
|
||||
item_flags |= NOSLIP
|
||||
magpulse = 1
|
||||
canremove = 0 //kinda hard to take off magclaws when you are gripping them tightly.
|
||||
user << "You dig your claws deeply into the flooring, bracing yourself."
|
||||
user << "It would be hard to take off the [src] without relaxing your grip first."
|
||||
user.update_action_buttons()
|
||||
|
||||
//In case they somehow come off while enabled.
|
||||
/obj/item/clothing/shoes/magboots/vox/dropped(mob/user as mob)
|
||||
..()
|
||||
if(src.magpulse)
|
||||
user.visible_message("The [src] go limp as they are removed from [usr]'s feet.", "The [src] go limp as they are removed from your feet.")
|
||||
item_flags &= ~NOSLIP
|
||||
magpulse = 0
|
||||
canremove = 1
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
|
||||
..(user)
|
||||
if (magpulse)
|
||||
user << "It would be hard to take these off without relaxing your grip first." //theoretically this message should only be seen by the wearer when the claws are equipped.
|
||||
|
||||
@@ -52,8 +52,7 @@
|
||||
/datum/species/skrell = 12,
|
||||
/datum/species/teshari = 9, // Skrell sponsored!
|
||||
/datum/species/tajaran = 7,
|
||||
/datum/species/unathi = 7,
|
||||
/datum/species/vox = 1
|
||||
/datum/species/unathi = 7
|
||||
)
|
||||
|
||||
//---- The following corporations are friendly with NanoTrasen and loosely enable trade and travel:
|
||||
|
||||
@@ -556,8 +556,8 @@ var/list/name_to_material
|
||||
sheet_plural_name = "ingots"
|
||||
|
||||
// Adminspawn only, do not let anyone get this.
|
||||
/material/voxalloy
|
||||
name = "voxalloy"
|
||||
/material/alienalloy
|
||||
name = "alienalloy"
|
||||
display_name = "durable alloy"
|
||||
stack_type = null
|
||||
icon_colour = "#6C7364"
|
||||
|
||||
@@ -9,7 +9,6 @@ var/list/holder_mob_icon_cache = list()
|
||||
show_messages = 1
|
||||
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi',
|
||||
"Teshari" = 'icons/mob/species/seromi/head.dmi'
|
||||
)
|
||||
|
||||
|
||||
@@ -68,21 +68,6 @@
|
||||
speaker_mask = B.truename
|
||||
..(speaker,message,speaker_mask)
|
||||
|
||||
/datum/language/vox
|
||||
name = "Vox-pidgin"
|
||||
desc = "The common tongue of the various Vox ships making up the Shoal. It sounds like chaotic shrieking to everyone else."
|
||||
speech_verb = "shrieks"
|
||||
ask_verb = "creels"
|
||||
exclaim_verb = "SHRIEKS"
|
||||
colour = "vox"
|
||||
key = "5"
|
||||
flags = WHITELISTED
|
||||
syllables = list("ti","ti","ti","hi","hi","ki","ki","ki","ki","ya","ta","ha","ka","ya","chi","cha","kah", \
|
||||
"SKRE","AHK","EHK","RAWK","KRA","AAA","EEE","KI","II","KRI","KA")
|
||||
|
||||
/datum/language/vox/get_random_name()
|
||||
return ..(FEMALE,1,6)
|
||||
|
||||
/datum/language/cultcommon
|
||||
name = "Cult"
|
||||
desc = "The chants of the occult, the incomprehensible."
|
||||
|
||||
@@ -49,116 +49,6 @@
|
||||
if ((O.client && !( O.blinded )))
|
||||
O.show_message(text("\red <B>[] [failed ? "tried to tackle" : "has tackled"] down []!</B>", src, T), 1)
|
||||
|
||||
/mob/living/carbon/human/proc/leap()
|
||||
set category = "Abilities"
|
||||
set name = "Leap"
|
||||
set desc = "Leap at a target and grab them aggressively."
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
if(stat || paralysis || stunned || weakened || lying || restrained() || buckled)
|
||||
src << "You cannot leap in your current state."
|
||||
return
|
||||
|
||||
var/list/choices = list()
|
||||
for(var/mob/living/M in view(6,src))
|
||||
if(!istype(M,/mob/living/silicon))
|
||||
choices += M
|
||||
choices -= src
|
||||
|
||||
var/mob/living/T = input(src,"Who do you wish to leap at?") as null|anything in choices
|
||||
|
||||
if(!T || !src || src.stat) return
|
||||
|
||||
if(get_dist(get_turf(T), get_turf(src)) > 4) return
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
if(stat || paralysis || stunned || weakened || lying || restrained() || buckled)
|
||||
src << "You cannot leap in your current state."
|
||||
return
|
||||
|
||||
last_special = world.time + 75
|
||||
status_flags |= LEAPING
|
||||
|
||||
src.visible_message("<span class='danger'>\The [src] leaps at [T]!</span>")
|
||||
src.throw_at(get_step(get_turf(T),get_turf(src)), 4, 1, src)
|
||||
playsound(src.loc, 'sound/voice/shriek1.ogg', 50, 1)
|
||||
|
||||
sleep(5)
|
||||
|
||||
if(status_flags & LEAPING) status_flags &= ~LEAPING
|
||||
|
||||
if(!src.Adjacent(T))
|
||||
src << "<span class='warning'>You miss!</span>"
|
||||
return
|
||||
|
||||
T.Weaken(3)
|
||||
|
||||
// Pariahs are not good at leaping. This is snowflakey, pls fix.
|
||||
if(species.name == "Vox Pariah")
|
||||
src.Weaken(5)
|
||||
return
|
||||
|
||||
var/use_hand = "left"
|
||||
if(l_hand)
|
||||
if(r_hand)
|
||||
src << "<span class='danger'>You need to have one hand free to grab someone.</span>"
|
||||
return
|
||||
else
|
||||
use_hand = "right"
|
||||
|
||||
src.visible_message("<span class='warning'><b>\The [src]</b> seizes [T] aggressively!</span>")
|
||||
|
||||
var/obj/item/weapon/grab/G = new(src,T)
|
||||
if(use_hand == "left")
|
||||
l_hand = G
|
||||
else
|
||||
r_hand = G
|
||||
|
||||
G.state = GRAB_PASSIVE
|
||||
G.icon_state = "grabbed1"
|
||||
G.synch()
|
||||
|
||||
/mob/living/carbon/human/proc/gut()
|
||||
set category = "Abilities"
|
||||
set name = "Gut"
|
||||
set desc = "While grabbing someone aggressively, rip their guts out or tear them apart."
|
||||
|
||||
if(last_special > world.time)
|
||||
return
|
||||
|
||||
if(stat || paralysis || stunned || weakened || lying)
|
||||
src << "\red You cannot do that in your current state."
|
||||
return
|
||||
|
||||
var/obj/item/weapon/grab/G = locate() in src
|
||||
if(!G || !istype(G))
|
||||
src << "\red You are not grabbing anyone."
|
||||
return
|
||||
|
||||
if(G.state < GRAB_AGGRESSIVE)
|
||||
src << "\red You must have an aggressive grab to gut your prey!"
|
||||
return
|
||||
|
||||
last_special = world.time + 50
|
||||
|
||||
visible_message("<span class='warning'><b>\The [src]</b> rips viciously at \the [G.affecting]'s body with its claws!</span>")
|
||||
|
||||
if(istype(G.affecting,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = G.affecting
|
||||
H.apply_damage(50,BRUTE)
|
||||
if(H.stat == 2)
|
||||
H.gib()
|
||||
else
|
||||
var/mob/living/M = G.affecting
|
||||
if(!istype(M)) return //wut
|
||||
M.apply_damage(50,BRUTE)
|
||||
if(M.stat == 2)
|
||||
M.gib()
|
||||
|
||||
/mob/living/carbon/human/proc/commune()
|
||||
set category = "Abilities"
|
||||
set name = "Commune with creature"
|
||||
|
||||
@@ -14,10 +14,6 @@
|
||||
h_style = "Unathi Horns"
|
||||
..(new_loc, "Unathi")
|
||||
|
||||
/mob/living/carbon/human/vox/New(var/new_loc)
|
||||
h_style = "Short Vox Quills"
|
||||
..(new_loc, "Vox")
|
||||
|
||||
/mob/living/carbon/human/diona/New(var/new_loc)
|
||||
..(new_loc, "Diona")
|
||||
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
/datum/species/vox
|
||||
name = "Vox"
|
||||
name_plural = "Vox"
|
||||
icobase = 'icons/mob/human_races/r_vox.dmi'
|
||||
deform = 'icons/mob/human_races/r_def_vox.dmi'
|
||||
default_language = "Vox-pidgin"
|
||||
language = "Galactic Common"
|
||||
num_alternate_languages = 1
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong)
|
||||
rarity_value = 4
|
||||
blurb = "The Vox are the broken remnants of a once-proud race, now reduced to little more than \
|
||||
scavenging vermin who prey on isolated stations, ships or planets to keep their own ancient arkships \
|
||||
alive. They are four to five feet tall, reptillian, beaked, tailed and quilled; human crews often \
|
||||
refer to them as 'shitbirds' for their violent and offensive nature, as well as their horrible \
|
||||
smell.<br/><br/>Most humans will never meet a Vox raider, instead learning of this insular species through \
|
||||
dealing with their traders and merchants; those that do rarely enjoy the experience."
|
||||
|
||||
speech_sounds = list('sound/voice/shriek1.ogg')
|
||||
speech_chance = 20
|
||||
|
||||
warning_low_pressure = 50
|
||||
hazard_low_pressure = 0
|
||||
|
||||
cold_level_1 = 80
|
||||
cold_level_2 = 50
|
||||
cold_level_3 = 0
|
||||
|
||||
gluttonous = 2
|
||||
|
||||
breath_type = "nitrogen"
|
||||
poison_type = "oxygen"
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
flags = NO_SCAN | NO_MINOR_CUT
|
||||
spawn_flags = CAN_JOIN | IS_WHITELISTED
|
||||
appearance_flags = HAS_EYE_COLOR
|
||||
|
||||
blood_color = "#2299FC"
|
||||
flesh_color = "#808D11"
|
||||
|
||||
reagent_tag = IS_VOX
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/carbon/human/proc/leap
|
||||
)
|
||||
|
||||
has_limbs = list(
|
||||
BP_TORSO = list("path" = /obj/item/organ/external/chest),
|
||||
BP_GROIN = list("path" = /obj/item/organ/external/groin),
|
||||
BP_HEAD = list("path" = /obj/item/organ/external/head/vox),
|
||||
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
|
||||
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
|
||||
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
|
||||
BP_R_LEG = list("path" = /obj/item/organ/external/leg/right),
|
||||
BP_L_HAND = list("path" = /obj/item/organ/external/hand),
|
||||
BP_R_HAND = list("path" = /obj/item/organ/external/hand/right),
|
||||
BP_L_FOOT = list("path" = /obj/item/organ/external/foot),
|
||||
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
|
||||
)
|
||||
|
||||
|
||||
has_organ = list(
|
||||
O_HEART = /obj/item/organ/internal/heart,
|
||||
O_LUNGS = /obj/item/organ/internal/lungs,
|
||||
O_LIVER = /obj/item/organ/internal/liver,
|
||||
O_KIDNEYS = /obj/item/organ/internal/kidneys,
|
||||
O_BRAIN = /obj/item/organ/internal/brain,
|
||||
O_EYES = /obj/item/organ/internal/eyes,
|
||||
"stack" = /obj/item/organ/internal/stack/vox
|
||||
)
|
||||
|
||||
/datum/species/vox/get_random_name(var/gender)
|
||||
var/datum/language/species_language = all_languages[default_language]
|
||||
return species_language.get_random_name(gender)
|
||||
|
||||
/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H)
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask)
|
||||
if(H.backbag == 1)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_back)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H), slot_r_hand)
|
||||
H.internal = H.back
|
||||
else
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(H), slot_r_hand)
|
||||
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H.back), slot_in_backpack)
|
||||
H.internal = H.r_hand
|
||||
H.internals.icon_state = "internal1"
|
||||
|
||||
|
||||
/datum/species/vox/get_station_variant()
|
||||
return "Vox Pariah"
|
||||
|
||||
// Joining as a station vox will give you this template, hence IS_RESTRICTED flag.
|
||||
/datum/species/vox/pariah
|
||||
name = "Vox Pariah"
|
||||
rarity_value = 0.1
|
||||
speech_chance = 60 // No volume control.
|
||||
siemens_coefficient = 0.5 // Ragged scaleless patches.
|
||||
|
||||
warning_low_pressure = (WARNING_LOW_PRESSURE-20)
|
||||
hazard_low_pressure = (HAZARD_LOW_PRESSURE-10)
|
||||
total_health = 80
|
||||
|
||||
cold_level_1 = 130
|
||||
cold_level_2 = 100
|
||||
cold_level_3 = 60
|
||||
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite)
|
||||
|
||||
// Pariahs have no stack.
|
||||
has_organ = list(
|
||||
O_HEART = /obj/item/organ/internal/heart,
|
||||
O_LUNGS = /obj/item/organ/internal/lungs,
|
||||
O_LIVER = /obj/item/organ/internal/liver,
|
||||
O_KIDNEYS = /obj/item/organ/internal/kidneys,
|
||||
O_BRAIN = /obj/item/organ/internal/pariah_brain,
|
||||
O_EYES = /obj/item/organ/internal/eyes
|
||||
)
|
||||
flags = IS_RESTRICTED | NO_SCAN | HAS_EYE_COLOR
|
||||
|
||||
// No combat skills for you.
|
||||
/datum/species/vox/pariah/can_shred(var/mob/living/carbon/human/H, var/ignore_intent)
|
||||
return 0
|
||||
|
||||
// Pariahs are really gross.
|
||||
/datum/species/vox/pariah/handle_environment_special(var/mob/living/carbon/human/H)
|
||||
if(prob(5))
|
||||
var/stink_range = rand(3,5)
|
||||
for(var/mob/living/M in range(H,stink_range))
|
||||
if(M.stat || M == H)
|
||||
continue
|
||||
var/mob/living/carbon/human/target = M
|
||||
if(istype(target))
|
||||
if(target.internals)
|
||||
continue
|
||||
if(target.head && (target.head.body_parts_covered & FACE) && (target.head.flags & AIRTIGHT))
|
||||
continue
|
||||
if(target.wear_mask && (target.wear_mask.body_parts_covered & FACE) && (target.wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT))
|
||||
continue
|
||||
M << "<span class='danger'>A terrible stench emanates from \the [H].</span>"
|
||||
|
||||
/datum/species/vox/pariah/get_bodytype()
|
||||
return "Vox"
|
||||
@@ -221,8 +221,6 @@
|
||||
inherent_verbs = list(
|
||||
/mob/living/proc/ventcrawl,
|
||||
/mob/living/carbon/human/proc/tackle,
|
||||
/mob/living/carbon/human/proc/gut,
|
||||
/mob/living/carbon/human/proc/leap,
|
||||
/mob/living/carbon/human/proc/psychic_whisper,
|
||||
/mob/living/carbon/human/proc/regurgitate
|
||||
)
|
||||
|
||||
@@ -474,7 +474,7 @@
|
||||
name = "Shaved"
|
||||
icon_state = "bald"
|
||||
gender = NEUTER
|
||||
species_allowed = list("Human","Unathi","Tajara","Skrell","Vox","Machine","Teshari")
|
||||
species_allowed = list("Human","Unathi","Tajara","Skrell", "Machine","Teshari")
|
||||
|
||||
teshari_beard
|
||||
name = "Teshari Beard"
|
||||
@@ -669,11 +669,6 @@
|
||||
icon_state = "hair_messy"
|
||||
species_allowed = list("Tajara")
|
||||
|
||||
vox_quills_short
|
||||
name = "Short Vox Quills"
|
||||
icon_state = "vox_shortquills"
|
||||
species_allowed = list("Vox")
|
||||
|
||||
/datum/sprite_accessory/facial_hair
|
||||
|
||||
taj_sideburns
|
||||
|
||||
@@ -56,6 +56,3 @@
|
||||
if(owner && owner.stat != DEAD && !is_broken())
|
||||
backup_time = world.time
|
||||
if(owner.mind) backup = owner.mind
|
||||
|
||||
/obj/item/organ/internal/stack/vox/stack
|
||||
name = "vox cortical stack"
|
||||
|
||||
@@ -1326,9 +1326,6 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
/obj/item/organ/external/head/seromi
|
||||
eye_icon = "eyes_seromi"
|
||||
|
||||
/obj/item/organ/external/head/vox
|
||||
eye_icon = "vox_eyes_s"
|
||||
|
||||
/obj/item/organ/external/head/no_eyes
|
||||
eye_icon = "blank_eyes"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//Vox pinning weapon.
|
||||
// Alien pinning weapon.
|
||||
/obj/item/weapon/gun/launcher/spikethrower
|
||||
|
||||
name = "spike thrower"
|
||||
@@ -37,14 +37,6 @@
|
||||
/obj/item/weapon/gun/launcher/spikethrower/update_icon()
|
||||
icon_state = "spikethrower[spikes]"
|
||||
|
||||
/obj/item/weapon/gun/launcher/spikethrower/special_check(user)
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species && H.species.get_bodytype() != "Vox")
|
||||
user << "<span class='warning'>\The [src] does not respond to you!</span>"
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
|
||||
return
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
item_state = "bolt"
|
||||
|
||||
/obj/item/weapon/arrow/quill
|
||||
name = "vox quill"
|
||||
name = "alien quill"
|
||||
desc = "A wickedly barbed quill from some bizarre animal."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "quill"
|
||||
@@ -116,7 +116,7 @@
|
||||
//double check that the user hasn't removed the bolt in the meantime
|
||||
if(!(bolt && tension && loc == current_user))
|
||||
return
|
||||
|
||||
|
||||
tension++
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
embed = 1 //the dart is shot fast enough to pierce space suits, so I guess splintering inside the target can be a thing. Should be rare due to low damage.
|
||||
var/reagent_amount = 15
|
||||
kill_count = 15 //shorter range
|
||||
|
||||
|
||||
muzzle_type = null
|
||||
|
||||
/obj/item/projectile/bullet/chemdart/New()
|
||||
@@ -194,13 +194,3 @@
|
||||
unload_ammo(usr)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/item/weapon/gun/projectile/dartgun/vox
|
||||
name = "alien dart gun"
|
||||
desc = "A small gas-powered dartgun, fitted for nonhuman hands."
|
||||
|
||||
/obj/item/weapon/gun/projectile/dartgun/vox/medical
|
||||
starting_chems = list("kelotane","bicaridine","anti_toxin")
|
||||
|
||||
/obj/item/weapon/gun/projectile/dartgun/vox/raider
|
||||
starting_chems = list("space_drugs","stoxin","impedrezene")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/machinery/computer/shuttle_control/multi/vox
|
||||
/obj/machinery/computer/shuttle_control/multi/skipjack
|
||||
name = "skipjack control console"
|
||||
req_access = list(access_syndicate)
|
||||
shuttle_tag = "Skipjack"
|
||||
|
||||
Reference in New Issue
Block a user