mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 11:34:19 +01:00
@@ -1065,7 +1065,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN)
|
||||
if("species")
|
||||
|
||||
var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin")
|
||||
var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Drask")
|
||||
var/prev_species = species
|
||||
// var/whitelisted = 0
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
//Set species_restricted list
|
||||
switch(target_species)
|
||||
if("Human", "Skrell") //humanoid bodytypes
|
||||
species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox","Wryn")
|
||||
species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox","Wryn","Drask")
|
||||
else
|
||||
species_restricted = list(target_species)
|
||||
|
||||
@@ -184,7 +184,8 @@ BLIND // can't see anything
|
||||
species_restricted = list("exclude","Unathi","Tajaran","Wryn")
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/gloves.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/gloves.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/gloves.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user, params)
|
||||
@@ -562,7 +563,8 @@ BLIND // can't see anything
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/uniform.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/uniform.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/uniform.dmi'
|
||||
)
|
||||
var/has_sensor = 1//For the crew computer 2 = unable to change mode
|
||||
var/sensor_mode = 0
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
species_fit = list("Vox")
|
||||
see_darkness = 0 //don't render darkness while wearing mesons
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/meson/night
|
||||
@@ -130,7 +131,8 @@
|
||||
see_darkness = 0
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/eyepatch
|
||||
@@ -146,7 +148,8 @@
|
||||
item_state = "headset" // lol
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/material
|
||||
@@ -158,7 +161,8 @@
|
||||
vision_flags = SEE_OBJS
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/material/cyber
|
||||
@@ -204,7 +208,8 @@
|
||||
prescription_upgradable = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
|
||||
@@ -282,7 +287,8 @@
|
||||
tint = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/lasers
|
||||
@@ -306,7 +312,8 @@
|
||||
tint = 2
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/welding/attack_self()
|
||||
|
||||
@@ -95,7 +95,8 @@
|
||||
prescription_upgradable = 1
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/eyes.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/eyes.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/glasses/hud/security/sunglasses/prescription
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
strip_delay = 60
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/helmet.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/helmet/attack_self(mob/user)
|
||||
@@ -71,7 +72,8 @@
|
||||
armor = list(melee = 25, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0)
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/helmet.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/helmet/riot
|
||||
@@ -118,7 +120,8 @@
|
||||
strip_delay = 80
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/head.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/helmet.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/helmet/swat/syndicate
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
||||
"Unathi" = 'icons/mob/species/unathi/mask.dmi',
|
||||
"Tajaran" = 'icons/mob/species/tajaran/mask.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi'
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/mask.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/balaclava/attack_self(var/mob/user)
|
||||
@@ -33,7 +34,8 @@
|
||||
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
||||
"Unathi" = 'icons/mob/species/unathi/mask.dmi',
|
||||
"Tajaran" = 'icons/mob/species/tajaran/mask.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi'
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/mask.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/luchador/tecnicos
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
"Vox Armalis" = 'icons/mob/species/armalis/mask.dmi',
|
||||
"Unathi" = 'icons/mob/species/unathi/mask.dmi',
|
||||
"Tajaran" = 'icons/mob/species/tajaran/mask.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi'
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/mask.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/breath/attack_self(var/mob/user)
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
||||
"Unathi" = 'icons/mob/species/unathi/mask.dmi',
|
||||
"Tajaran" = 'icons/mob/species/tajaran/mask.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi'
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/mask.dmi'
|
||||
)
|
||||
|
||||
// **** Welding gas mask ****
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
species_restricted = list("exclude", "Diona", "Wryn")
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/helmet.dmi'
|
||||
)
|
||||
/obj/item/clothing/head/helmet/space/capspace/equipped(var/mob/living/carbon/human/user, var/slot)
|
||||
if (ishuman(user) && user.species.name == "Vox")
|
||||
@@ -30,7 +31,8 @@
|
||||
species_restricted = list("exclude", "Diona", "Wryn")
|
||||
species_fit = list("Vox")
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/suit.dmi'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"Skrell" = 'icons/mob/species/skrell/helmet.dmi',
|
||||
"Vox" = 'icons/mob/species/vox/helmet.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/helmet.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/helmet.dmi'
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
"Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi',
|
||||
@@ -66,6 +67,7 @@
|
||||
"Skrell" = 'icons/mob/species/skrell/suit.dmi',
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi',
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/suit.dmi',
|
||||
"Drask" = 'icons/mob/species/drask/suit.dmi'
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
"Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi',
|
||||
|
||||
@@ -276,6 +276,23 @@
|
||||
flags = RESTRICTED | WHITELISTED
|
||||
syllables = list("blob","plop","pop","bop","boop")
|
||||
|
||||
/datum/language/drask
|
||||
name = "Orluum"
|
||||
desc = "The droning, vibrous language of the Drask. It sounds somewhat like whalesong"
|
||||
speech_verb = "drones"
|
||||
ask_verb = "hums"
|
||||
exclaim_verb = "rumbles"
|
||||
colour = "slime"
|
||||
key = "%"
|
||||
flags = RESTRICTED
|
||||
syllables = list("hoorb","vrrm","ooorm","urrrum","ooum","ee","ffm","hhh","mn","ongg")
|
||||
|
||||
/datum/language/drask/get_random_name()
|
||||
var/new_name = "[pick(list("Hoorm","Viisk","Saar","Mnoo","Oumn","Fmong","Gnii","Vrrm","Oorm","Dromnn","Ssooumn","Ovv", "Hoorb","Vaar","Gaar","Goom","Ruum","Rumum"))]"
|
||||
new_name += "-[pick(list("Hoorm","Viisk","Saar","Mnoo","Oumn","Fmong","Gnii","Vrrm","Oorm","Dromnn","Ssooumn","Ovv", "Hoorb","Vaar","Gaar","Goom","Ruum","Rumum"))]"
|
||||
new_name += "-[pick(list("Hoorm","Viisk","Saar","Mnoo","Oumn","Fmong","Gnii","Vrrm","Oorm","Dromnn","Ssooumn","Ovv", "Hoorb","Vaar","Gaar","Goom","Ruum","Rumum"))]"
|
||||
return new_name
|
||||
|
||||
/datum/language/common
|
||||
name = "Galactic Common"
|
||||
desc = "The common galactic tongue."
|
||||
|
||||
@@ -139,6 +139,10 @@
|
||||
h_style = "Nucleation Crystals"
|
||||
..(new_loc, "Nucleation")
|
||||
|
||||
/mob/living/carbon/human/drask/New(var/new_loc)
|
||||
h_style = "Bald"
|
||||
..(new_loc, "Drask")
|
||||
|
||||
/mob/living/carbon/human/monkey/New(var/new_loc)
|
||||
..(new_loc, "Monkey")
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
/datum/species/drask
|
||||
name = "Drask"
|
||||
name_plural = "Drask"
|
||||
icobase = 'icons/mob/human_races/r_drask.dmi'
|
||||
deform = 'icons/mob/human_races/r_drask.dmi'
|
||||
path = /mob/living/carbon/human/drask
|
||||
default_language = "Galactic Common"
|
||||
language = "Orluum"
|
||||
unarmed_type = /datum/unarmed_attack/punch
|
||||
eyes = "drask_eyes_s"
|
||||
darksight = 5
|
||||
|
||||
speech_sounds = list('sound/voice/DraskTalk.ogg')
|
||||
speech_chance = 20
|
||||
male_scream_sound = 'sound/voice/DraskTalk2.ogg'
|
||||
female_scream_sound = 'sound/voice/DraskTalk2.ogg'
|
||||
|
||||
burn_mod = 4
|
||||
//exotic_blood = "cryoxadone"
|
||||
body_temperature = 273
|
||||
can_revive_by_healing // Doesn't seem to do much for non-robots, still needs a defib
|
||||
|
||||
blurb = "Hailing from Hoorlm, planet outside what is usually considered a habitable \
|
||||
orbit, the Drask evolved to live in extreme cold. Their strange bodies seem \
|
||||
to operate better the colder their surroundings are, and can regenerate rapidly \
|
||||
when breathing supercooled gas. <br/><br/> On their homeworld, the Drask live long lives \
|
||||
in their labyrinthine settlements, carved out beneath Hoorlm's icy surface, where the air \
|
||||
is of breathable density."
|
||||
|
||||
flags = HAS_LIPS
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT
|
||||
bodyflags = FEET_CLAWS
|
||||
dietflags = DIET_OMNI
|
||||
|
||||
cold_level_1 = -1 //Default 260 - Lower is better
|
||||
cold_level_2 = -1 //Default 200
|
||||
cold_level_3 = -1 //Default 120
|
||||
cold_env_multiplier = -1
|
||||
|
||||
heat_level_1 = 300 //Default 360 - Higher is better
|
||||
heat_level_2 = 340 //Default 400
|
||||
heat_level_3 = 400 //Default 460
|
||||
heat_level_3_breathe = 600 //Default 1000
|
||||
|
||||
flesh_color = "#a3d4eb"
|
||||
reagent_tag = PROCESS_ORG
|
||||
base_color = "#a3d4eb"
|
||||
blood_color = "#a3d4eb"
|
||||
|
||||
has_organ = list(
|
||||
"heart" = /obj/item/organ/internal/heart/drask,
|
||||
"lungs" = /obj/item/organ/internal/lungs/drask,
|
||||
"metabolic strainer" = /obj/item/organ/internal/liver/drask,
|
||||
"eyes" = /obj/item/organ/internal/eyes/drask,
|
||||
"brain" = /obj/item/organ/internal/brain/drask
|
||||
)
|
||||
|
||||
|
||||
/datum/species/drask/handle_temperature(datum/gas_mixture/breath, var/mob/living/carbon/human/H) // called by human/life, handles temperatures
|
||||
if( (abs(310.15 - breath.temperature) > 50) && !(RESIST_HEAT in H.mutations)) // Hot air hurts :(
|
||||
if(H.status_flags & GODMODE) return 1 //godmode
|
||||
if(breath.temperature < 260)
|
||||
if(prob(20))
|
||||
H.to_chat("<span class='notice'> You feel an invigorating coldness in your lungs!</span>")
|
||||
else if(breath.temperature > heat_level_1)
|
||||
if(prob(20))
|
||||
H.to_chat("<span class='warning'>You feel your face burning and a searing heat in your lungs!</span>")
|
||||
|
||||
|
||||
|
||||
switch(breath.temperature)
|
||||
if(-INFINITY to 120)
|
||||
H.adjustFireLoss(cold_env_multiplier*COLD_GAS_DAMAGE_LEVEL_3)
|
||||
H.adjustBruteLoss(cold_env_multiplier*10)
|
||||
H.fire_alert = max(H.fire_alert, 1) //To alert that their breath is cold enough for healing. Does not seem to affect cold movement slowdown
|
||||
|
||||
if(121 to 200)
|
||||
H.adjustFireLoss(cold_env_multiplier*COLD_GAS_DAMAGE_LEVEL_2)
|
||||
H.adjustBruteLoss(cold_env_multiplier*6)
|
||||
H.fire_alert = max(H.fire_alert, 1)
|
||||
|
||||
if(201 to 260)
|
||||
H.adjustFireLoss(cold_env_multiplier*COLD_GAS_DAMAGE_LEVEL_1)
|
||||
H.adjustBruteLoss(cold_env_multiplier*3)
|
||||
H.fire_alert = max(H.fire_alert, 1)
|
||||
|
||||
if(heat_level_1 to heat_level_2)
|
||||
H.apply_damage(hot_env_multiplier*HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Heat")
|
||||
H.fire_alert = max(H.fire_alert, 2)
|
||||
|
||||
if(heat_level_2 to heat_level_3_breathe)
|
||||
H.apply_damage(hot_env_multiplier*HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Heat")
|
||||
H.fire_alert = max(H.fire_alert, 2)
|
||||
|
||||
if(heat_level_3_breathe to INFINITY)
|
||||
H.apply_damage(hot_env_multiplier*HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Heat")
|
||||
H.fire_alert = max(H.fire_alert, 2)
|
||||
@@ -0,0 +1,65 @@
|
||||
//DRASK ORGAN
|
||||
/obj/item/organ/internal/drask
|
||||
name = "drask organ"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "innards"
|
||||
desc = "A greenish, slightly translucent organ. It is extremely cold."
|
||||
|
||||
/obj/item/organ/internal/heart/drask
|
||||
name = "drask heart"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "heart-on"
|
||||
dead_icon = "heart-off"
|
||||
organ_tag = "heart"
|
||||
parent_organ = "head"
|
||||
slot = "heart"
|
||||
|
||||
/obj/item/organ/internal/lungs/drask
|
||||
name = "lungs"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "lungs"
|
||||
gender = PLURAL
|
||||
organ_tag = "lungs"
|
||||
parent_organ = "chest"
|
||||
slot = "lungs"
|
||||
|
||||
/obj/item/organ/internal/liver/drask
|
||||
name = "metabolic strainer"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "kidneys"
|
||||
gender = PLURAL
|
||||
organ_tag = "kidneys"
|
||||
parent_organ = "groin"
|
||||
slot = "kidneys"
|
||||
|
||||
///obj/item/organ/internal/liver/drask/process() //If we ever want to do the "implant them to keep a livable body temp thing." For now, I'd rather not
|
||||
// if(owner.bodytemperature >= 283)
|
||||
// src.damage += 0.2
|
||||
|
||||
/obj/item/organ/internal/brain/drask
|
||||
name = "brain"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "brain2"
|
||||
organ_tag = "brain"
|
||||
slot = "brain"
|
||||
|
||||
/obj/item/organ/internal/eyes/drask
|
||||
name = "eyes"
|
||||
icon = 'icons/obj/surgery_drask.dmi'
|
||||
icon_state = "eyes"
|
||||
gender = PLURAL
|
||||
organ_tag = "eyes"
|
||||
parent_organ = "head"
|
||||
slot = "eyes"
|
||||
desc = "Drask eyes. They look even stranger disembodied"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/drask_comfort
|
||||
name = "cryonic homeostasis implant"
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "rocket_chem"
|
||||
parent_organ = "chest"
|
||||
desc = "This cybernetic implant will attempt to maintain the user's body heat at a freezing temperature. Probably very dangerous unless the user is a Drask."
|
||||
|
||||
/obj/item/organ/internal/cyberimp/drask_comfort/process() //Not used for now, seems like a lot of hassle for not much point.
|
||||
if(owner.bodytemperature >= 273)
|
||||
owner.bodytemperature = (273)
|
||||
Reference in New Issue
Block a user