mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-22 04:28:33 +01:00
Merge pull request #6697 from Zuhayr/dev-freeze
Xenos fixes, dev freeze fixes.
This commit is contained in:
@@ -164,7 +164,7 @@ proc/get_id_photo(var/mob/living/carbon/human/H)
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
|
||||
//Tail
|
||||
if(H.species.tail && H.species.flags & HAS_TAIL)
|
||||
if(H.species.tail)
|
||||
temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.species.tail]_s")
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
|
||||
|
||||
@@ -779,12 +779,8 @@ client
|
||||
usr << "Mob doesn't exist anymore"
|
||||
return
|
||||
|
||||
// Clear out their species abilities.
|
||||
H.species.remove_inherent_verbs(H)
|
||||
|
||||
if(H.set_species(new_species))
|
||||
usr << "Set species of [H] to [H.species]."
|
||||
H.regenerate_icons()
|
||||
else
|
||||
usr << "Failed! Something went wrong."
|
||||
|
||||
|
||||
@@ -109,6 +109,17 @@
|
||||
O.show_message("\red [usr] destroys the [name]!", 1)
|
||||
health = 0
|
||||
else
|
||||
|
||||
// Aliens can get straight through these.
|
||||
if(istype(usr,/mob/living/carbon))
|
||||
var/mob/living/carbon/M = usr
|
||||
if(locate(/datum/organ/internal/xenos/hivenode) in M.internal_organs)
|
||||
for(var/mob/O in oviewers(src))
|
||||
O.show_message("\red [usr] strokes the [name] and it melts away!", 1)
|
||||
health = 0
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
usr << "\blue You claw at the [name]."
|
||||
for(var/mob/O in oviewers(src))
|
||||
O.show_message("\red [usr] claws at the [name]!", 1)
|
||||
|
||||
@@ -260,8 +260,11 @@
|
||||
if(ishuman(M))
|
||||
//START HUMAN
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/list/mob_equip = list()
|
||||
if(H.species.hud && H.species.hud.equip_slots)
|
||||
mob_equip = H.species.hud.equip_slots
|
||||
|
||||
if(H.species && !(slot in H.species.hud.equip_slots))
|
||||
if(H.species && !(slot in mob_equip))
|
||||
return 0
|
||||
|
||||
switch(slot)
|
||||
@@ -306,7 +309,7 @@
|
||||
if(slot_belt)
|
||||
if(H.belt)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!H.w_uniform && (slot_w_uniform in mob_equip))
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
@@ -354,7 +357,7 @@
|
||||
if(slot_wear_id)
|
||||
if(H.wear_id)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!H.w_uniform && (slot_w_uniform in mob_equip))
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
@@ -364,7 +367,7 @@
|
||||
if(slot_l_store)
|
||||
if(H.l_store)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!H.w_uniform && (slot_w_uniform in mob_equip))
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
@@ -375,7 +378,7 @@
|
||||
if(slot_r_store)
|
||||
if(H.r_store)
|
||||
return 0
|
||||
if(!H.w_uniform)
|
||||
if(!H.w_uniform && (slot_w_uniform in mob_equip))
|
||||
if(!disable_warning)
|
||||
H << "\red You need a jumpsuit before you can attach this [name]."
|
||||
return 0
|
||||
@@ -387,7 +390,7 @@
|
||||
if(slot_s_store)
|
||||
if(H.s_store)
|
||||
return 0
|
||||
if(!H.wear_suit)
|
||||
if(!H.wear_suit && (slot_wear_suit in mob_equip))
|
||||
if(!disable_warning)
|
||||
H << "\red You need a suit before you can attach this [name]."
|
||||
return 0
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
var/name = "an unknown language" // Fluff name of language if any.
|
||||
var/desc = "A language." // Short description for 'Check Languages'.
|
||||
var/speech_verb = "says" // 'says', 'hisses', 'farts'.
|
||||
var/ask_verb = "asks" // Used when sentence ends in a ?
|
||||
var/exclaim_verb = "exclaims" // Used when sentence ends in a !
|
||||
var/signlang_verb = list() // list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags
|
||||
var/colour = "body" // CSS style to use for strings in this language.
|
||||
var/key = "x" // Character used to speak in language eg. :o for Unathi.
|
||||
@@ -33,6 +35,14 @@
|
||||
/datum/language/proc/check_special_condition(var/mob/other)
|
||||
return 1
|
||||
|
||||
/datum/language/proc/get_spoken_verb(var/msg_end)
|
||||
switch(msg_end)
|
||||
if("!")
|
||||
return exclaim_verb
|
||||
if("?")
|
||||
return ask_verb
|
||||
return speech_verb
|
||||
|
||||
/datum/language/unathi
|
||||
name = "Sinta'unathi"
|
||||
desc = "The common language of Moghes, composed of sibilant hisses and rattles. Spoken natively by Unathi."
|
||||
|
||||
@@ -522,4 +522,7 @@
|
||||
step(AM, t)
|
||||
now_pushing = 0
|
||||
return
|
||||
return
|
||||
|
||||
/mob/living/carbon/can_use_vents()
|
||||
return
|
||||
@@ -126,6 +126,7 @@
|
||||
)
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/proc/ventcrawl,
|
||||
/mob/living/carbon/human/proc/regurgitate,
|
||||
/mob/living/carbon/human/proc/plant,
|
||||
/mob/living/carbon/human/proc/transfer_plasma,
|
||||
@@ -162,6 +163,7 @@
|
||||
)
|
||||
|
||||
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,
|
||||
@@ -190,6 +192,7 @@
|
||||
)
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/proc/ventcrawl,
|
||||
/mob/living/carbon/human/proc/tackle,
|
||||
/mob/living/carbon/human/proc/regurgitate,
|
||||
/mob/living/carbon/human/proc/transfer_plasma,
|
||||
@@ -222,6 +225,7 @@
|
||||
)
|
||||
|
||||
inherent_verbs = list(
|
||||
/mob/living/proc/ventcrawl,
|
||||
/mob/living/carbon/human/proc/psychic_whisper,
|
||||
/mob/living/carbon/human/proc/regurgitate,
|
||||
/mob/living/carbon/human/proc/lay_egg,
|
||||
|
||||
@@ -1171,6 +1171,7 @@
|
||||
dna.species = new_species
|
||||
|
||||
if(species)
|
||||
|
||||
if(species.name && species.name == new_species)
|
||||
return
|
||||
if(species.language)
|
||||
@@ -1179,6 +1180,9 @@
|
||||
if(species.default_language)
|
||||
remove_language(species.default_language)
|
||||
|
||||
// Clear out their species abilities.
|
||||
species.remove_inherent_verbs(src)
|
||||
|
||||
species = all_species[new_species]
|
||||
|
||||
species.create_organs(src)
|
||||
@@ -1202,7 +1206,7 @@
|
||||
species.handle_post_spawn(src)
|
||||
|
||||
spawn(0)
|
||||
update_icons()
|
||||
regenerate_icons()
|
||||
vessel.add_reagent("blood",560-vessel.total_volume)
|
||||
fixblood()
|
||||
|
||||
@@ -1345,4 +1349,4 @@
|
||||
var/datum/organ/internal/eyes = internal_organs_by_name["eyes"]
|
||||
if(eyes && istype(eyes) && !eyes.status & ORGAN_CUT_AWAY)
|
||||
return 1
|
||||
return 0
|
||||
return 0
|
||||
@@ -232,16 +232,17 @@
|
||||
/mob/living/carbon/human/say_quote(var/message, var/datum/language/speaking = null)
|
||||
var/verb = "says"
|
||||
var/ending = copytext(message, length(message))
|
||||
if(ending=="!")
|
||||
verb=pick("exclaims","shouts","yells")
|
||||
else if(ending=="?")
|
||||
verb="asks"
|
||||
|
||||
if(speaking)
|
||||
verb = speaking.get_spoken_verb(ending)
|
||||
else
|
||||
if(ending == "!")
|
||||
verb=pick("exclaims","shouts","yells")
|
||||
else if(ending == "?")
|
||||
verb="asks"
|
||||
|
||||
return verb
|
||||
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/handle_speech_problems(var/message)
|
||||
var/list/returns[3]
|
||||
var/verb = "says"
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
heat_level_2 = 480 //Default 400
|
||||
heat_level_3 = 1100 //Default 1000
|
||||
|
||||
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_TAIL | HAS_SKIN_COLOR
|
||||
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
|
||||
|
||||
flesh_color = "#34AF10"
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
|
||||
primitive = /mob/living/carbon/monkey/tajara
|
||||
|
||||
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_TAIL | HAS_SKIN_COLOR
|
||||
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
|
||||
|
||||
flesh_color = "#AFA59E"
|
||||
base_color = "#333333"
|
||||
@@ -353,7 +353,7 @@
|
||||
breath_type = "nitrogen"
|
||||
poison_type = "oxygen"
|
||||
|
||||
flags = NO_SCAN | NO_BLOOD | HAS_TAIL | NO_PAIN
|
||||
flags = NO_SCAN | NO_BLOOD | NO_PAIN
|
||||
|
||||
blood_color = "#2299FC"
|
||||
flesh_color = "#808D11"
|
||||
|
||||
@@ -897,7 +897,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1)
|
||||
overlays_standing[TAIL_LAYER] = null
|
||||
|
||||
if(species.tail && species.flags & HAS_TAIL)
|
||||
if(species.tail)
|
||||
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space))
|
||||
var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[species.tail]_s")
|
||||
tail_s.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
|
||||
|
||||
@@ -806,10 +806,10 @@
|
||||
var/area/new_area = get_area(loc)
|
||||
if(new_area)
|
||||
new_area.Entered(src)
|
||||
|
||||
/mob/living/proc/can_use_vents()
|
||||
return "You can't fit into that vent."
|
||||
|
||||
|
||||
/mob/living/proc/has_brain()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -128,6 +128,8 @@ var/list/ai_verbs_default = list(
|
||||
add_ai_verbs(src)
|
||||
|
||||
//Languages
|
||||
add_language("Robot Talk", 1)
|
||||
add_language("Galactic Common", 0)
|
||||
add_language("Sol Common", 0)
|
||||
add_language("Sinta'unathi", 0)
|
||||
add_language("Siik'tajr", 0)
|
||||
|
||||
@@ -114,5 +114,5 @@
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "splats"
|
||||
|
||||
/mob/living/carbon/alien/can_use_vents()
|
||||
/mob/living/simple_animal/mouse/can_use_vents()
|
||||
return
|
||||
@@ -208,7 +208,7 @@ datum/preferences
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
|
||||
//Tail
|
||||
if(current_species && (current_species.flags & HAS_TAIL))
|
||||
if(current_species && (current_species.tail))
|
||||
var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s")
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
|
||||
|
||||
+3
-5
@@ -748,11 +748,9 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse
|
||||
#define HAS_SKIN_COLOR 128
|
||||
#define HAS_LIPS 256
|
||||
#define HAS_UNDERWEAR 512
|
||||
#define HAS_TAIL 1024
|
||||
|
||||
#define IS_PLANT 2048
|
||||
#define IS_WHITELISTED 4096
|
||||
#define IS_SYNTHETIC 8192
|
||||
#define IS_PLANT 1024
|
||||
#define IS_WHITELISTED 2048
|
||||
#define IS_SYNTHETIC 4096
|
||||
|
||||
//Language flags.
|
||||
#define WHITELISTED 1 // Language is available if the speaker is whitelisted.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Reference in New Issue
Block a user