mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 08:03:43 +01:00
Merge branch 'bleeding-edge-freeze' of https://github.com/Baystation12/Baystation12 into xenoarch
Conflicts: baystation12.dme code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm icons/obj/device.dmi Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -188,7 +188,7 @@
|
||||
status = "MISSING!"
|
||||
if(status == "")
|
||||
status = "OK"
|
||||
src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.getDisplayName(),status),1)
|
||||
src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.display_name,status),1)
|
||||
if((SKELETON in H.mutations) && (!H.w_uniform) && (!H.wear_suit))
|
||||
H.play_xylophone()
|
||||
else
|
||||
|
||||
@@ -919,4 +919,33 @@
|
||||
src.custom_pain("You feel a stabbing pain in your chest!", 1)
|
||||
|
||||
E.ruptured_lungs = 1
|
||||
/*
|
||||
/mob/living/carbon/human/verb/simulate()
|
||||
set name = "sim"
|
||||
set background = 1
|
||||
|
||||
var/damage = input("Wound damage","Wound damage") as num
|
||||
|
||||
var/germs = 0
|
||||
var/tdamage = 0
|
||||
var/ticks = 0
|
||||
while (germs < 2501 && ticks < 100000 && round(damage/10)*20)
|
||||
diary << "VIRUS TESTING: [ticks] : germs [germs] tdamage [tdamage] prob [round(damage/10)*20]"
|
||||
ticks++
|
||||
if (prob(round(damage/10)*20))
|
||||
germs++
|
||||
if (germs == 100)
|
||||
world << "Reached stage 1 in [ticks] ticks"
|
||||
if (germs > 100)
|
||||
if (prob(10))
|
||||
damage++
|
||||
germs++
|
||||
if (germs == 1000)
|
||||
world << "Reached stage 2 in [ticks] ticks"
|
||||
if (germs > 1000)
|
||||
damage++
|
||||
germs++
|
||||
if (germs == 2500)
|
||||
world << "Reached stage 3 in [ticks] ticks"
|
||||
world << "Mob took [tdamage] tox damage"
|
||||
*/
|
||||
@@ -1260,10 +1260,9 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
if("lizard","slime")
|
||||
see_in_dark = 3
|
||||
see_invisible = SEE_INVISIBLE_LEVEL_ONE
|
||||
if("tajaran")
|
||||
see_in_dark = 4
|
||||
if("shadow")
|
||||
if("shadow","tajaran")
|
||||
see_in_dark = 8
|
||||
see_invisible = SEE_INVISIBLE_LEVEL_ONE
|
||||
else
|
||||
see_in_dark = 2
|
||||
|
||||
@@ -1403,7 +1402,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
|
||||
var/masked = 0
|
||||
|
||||
if( istype(head, /obj/item/clothing/head/welding) )
|
||||
if( istype(head, /obj/item/clothing/head/welding) || istype(head, /obj/item/clothing/head/helmet/space/unathi))
|
||||
var/obj/item/clothing/head/welding/O = head
|
||||
if(!O.up && tinted_weldhelh)
|
||||
client.screen += global_hud.darkMask
|
||||
|
||||
@@ -222,6 +222,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
var/husk_color_mod = rgb(96,88,80)
|
||||
var/hulk_color_mod = rgb(48,224,40)
|
||||
var/plant_color_mod = rgb(144,224,144)
|
||||
var/necrosis_color_mod = rgb(10,50,0)
|
||||
|
||||
var/husk = (HUSK in src.mutations) //100% unnecessary -Agouri //nope, do you really want to iterate through src.mutations repeatedly? -Pete
|
||||
var/fat = (FAT in src.mutations)
|
||||
@@ -283,6 +284,9 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
temp = new /icon(icobase, "[part.icon_name]")
|
||||
if(part.status & ORGAN_ROBOT)
|
||||
temp.GrayScale()
|
||||
if(part.status & ORGAN_DEAD)
|
||||
temp.ColorTone(necrosis_color_mod)
|
||||
temp.SetIntensity(0.7)
|
||||
else if(!skeleton)
|
||||
if(husk)
|
||||
temp.ColorTone(husk_color_mod)
|
||||
@@ -789,7 +793,7 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space))
|
||||
overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "tajtail_l")
|
||||
overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "tajtail_s")
|
||||
else if( cur_species == "Soghun")
|
||||
else if( cur_species == "Unathi")
|
||||
if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space))
|
||||
overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "sogtail_l")
|
||||
overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "sogtail_s")
|
||||
|
||||
@@ -15,6 +15,9 @@ var/list/department_radio_keys = list(
|
||||
":t" = "Syndicate", "#t" = "Syndicate", ".t" = "Syndicate",
|
||||
":u" = "Supply", "#u" = "Supply", ".u" = "Supply",
|
||||
":g" = "changeling", "#g" = "changeling", ".g" = "changeling",
|
||||
":k" = "skrell", "#k" = "skrell", ".k" = "skrell",
|
||||
":j" = "tajaran", "#j" = "tajaran", ".j" = "tajaran",
|
||||
":o" = "soghun", "#o" = "soghun", ".o" = "soghun",
|
||||
|
||||
":R" = "right hand", "#R" = "right hand", ".R" = "right hand",
|
||||
":L" = "left hand", "#L" = "left hand", ".L" = "left hand",
|
||||
@@ -31,6 +34,9 @@ var/list/department_radio_keys = list(
|
||||
":T" = "Syndicate", "#T" = "Syndicate", ".T" = "Syndicate",
|
||||
":U" = "Supply", "#U" = "Supply", ".U" = "Supply",
|
||||
":G" = "changeling", "#G" = "changeling", ".G" = "changeling",
|
||||
":K" = "skrell", "#K" = "skrell", ".K" = "skrell",
|
||||
":J" = "tajaran", "#J" = "tajaran", ".J" = "tajaran",
|
||||
":O" = "soghun", "#O" = "soghun", ".O" = "soghun",
|
||||
|
||||
//kinda localization -- rastaf0
|
||||
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
|
||||
@@ -139,27 +145,6 @@ var/list/department_radio_keys = list(
|
||||
if (!message)
|
||||
return
|
||||
|
||||
//work out if we're speaking skrell or not
|
||||
var/is_speaking_skrell = 0
|
||||
if(copytext(message, 1, 3) == ":k" || copytext(message, 1, 3) == ":K")
|
||||
message = copytext(message, 3)
|
||||
if(skrell_talk_understand || universal_speak)
|
||||
is_speaking_skrell = 1
|
||||
|
||||
//work out if we're speaking soghun or not
|
||||
var/is_speaking_soghun = 0
|
||||
if(copytext(message, 1, 3) == ":o" || copytext(message, 1, 3) == ":O")
|
||||
message = copytext(message, 3)
|
||||
if(soghun_talk_understand || universal_speak)
|
||||
is_speaking_soghun = 1
|
||||
|
||||
//work out if we're speaking soghun or not
|
||||
var/is_speaking_taj = 0
|
||||
if(copytext(message, 1, 3) == ":j" || copytext(message, 1, 3) == ":J")
|
||||
message = copytext(message, 3)
|
||||
if(tajaran_talk_understand || universal_speak)
|
||||
is_speaking_taj = 1
|
||||
|
||||
// :downs:
|
||||
if (getBrainLoss() >= 60)
|
||||
message = replacetext(message, " am ", " ")
|
||||
@@ -191,6 +176,10 @@ var/list/department_radio_keys = list(
|
||||
*/
|
||||
var/list/obj/item/used_radios = new
|
||||
|
||||
var/is_speaking_skrell = 0
|
||||
var/is_speaking_soghun = 0
|
||||
var/is_speaking_taj = 0
|
||||
|
||||
switch (message_mode)
|
||||
if ("headset")
|
||||
if (src:ears)
|
||||
@@ -269,6 +258,18 @@ var/list/department_radio_keys = list(
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
if ("tajaran")
|
||||
if(tajaran_talk_understand || universal_speak)
|
||||
is_speaking_taj = 1
|
||||
|
||||
if ("soghun")
|
||||
if(soghun_talk_understand || universal_speak)
|
||||
is_speaking_soghun = 1
|
||||
|
||||
if ("skrell")
|
||||
if(skrell_talk_understand || universal_speak)
|
||||
is_speaking_skrell = 1
|
||||
|
||||
if("changeling")
|
||||
if(mind && mind.changeling)
|
||||
for(var/mob/Changeling in mob_list)
|
||||
|
||||
@@ -34,6 +34,13 @@
|
||||
for(var/mob/M in view())
|
||||
M << 'sound/effects/mousesqueek.ogg'
|
||||
|
||||
if(prob(0.5) && stat == CONSCIOUS)
|
||||
stat = UNCONSCIOUS
|
||||
icon_state = "mouse_[color]_sleep"
|
||||
if(stat == UNCONSCIOUS && prob(1))
|
||||
stat = CONSCIOUS
|
||||
icon_state = "mouse_[color]"
|
||||
|
||||
/mob/living/simple_animal/mouse/New()
|
||||
..()
|
||||
if(!color)
|
||||
|
||||
@@ -46,6 +46,13 @@
|
||||
stance = HOSTILE_STANCE_ATTACK
|
||||
T = M
|
||||
break
|
||||
|
||||
if(istype(A, /obj/machinery/bot))
|
||||
var/obj/machinery/bot/B = A
|
||||
if (B.health > 0)
|
||||
stance = HOSTILE_STANCE_ATTACK
|
||||
T = B
|
||||
break
|
||||
return T
|
||||
|
||||
|
||||
@@ -88,6 +95,9 @@
|
||||
var/obj/mecha/M = target_mob
|
||||
M.attack_animal(src)
|
||||
return M
|
||||
if(istype(target_mob,/obj/machinery/bot))
|
||||
var/obj/machinery/bot/B = target_mob
|
||||
B.attack_animal(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/proc/LoseTarget()
|
||||
stance = HOSTILE_STANCE_IDLE
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
hostile_drone = 0
|
||||
walk(src,0)
|
||||
|
||||
/mob/living/simple_animal/Die()
|
||||
/mob/living/simple_animal/hostile/retaliate/malf_drone/Die()
|
||||
src.visible_message("\blue \icon[src] [src] suddenly breaks apart.")
|
||||
..()
|
||||
del(src)
|
||||
|
||||
@@ -452,4 +452,8 @@
|
||||
var/obj/mecha/M = target_mob
|
||||
if (M.occupant)
|
||||
return (0)
|
||||
if (istype(target_mob,/obj/machinery/bot))
|
||||
var/obj/machinery/bot/B = target_mob
|
||||
if(B.health > 0)
|
||||
return (0)
|
||||
return (1)
|
||||
@@ -134,7 +134,7 @@ proc/hasorgans(A)
|
||||
zone = "head"
|
||||
if("mouth")
|
||||
zone = "head"
|
||||
if("l_hand")
|
||||
/* if("l_hand")
|
||||
zone = "l_arm"
|
||||
if("r_hand")
|
||||
zone = "r_arm"
|
||||
@@ -144,6 +144,7 @@ proc/hasorgans(A)
|
||||
zone = "r_leg"
|
||||
if("groin")
|
||||
zone = "chest"
|
||||
*/
|
||||
return zone
|
||||
|
||||
|
||||
@@ -171,7 +172,7 @@ proc/hasorgans(A)
|
||||
|
||||
// you can only miss if your target is standing and not restrained
|
||||
if(!target.buckled && !target.lying)
|
||||
var/miss_chance = max(10 + miss_chance_mod, 0)
|
||||
var/miss_chance = 10
|
||||
switch(zone)
|
||||
if("head")
|
||||
miss_chance = 40
|
||||
@@ -191,6 +192,7 @@ proc/hasorgans(A)
|
||||
miss_chance = 50
|
||||
if("r_foot")
|
||||
miss_chance = 50
|
||||
miss_chance = max(miss_chance + miss_chance_mod, 0)
|
||||
if(prob(miss_chance))
|
||||
if(prob(70))
|
||||
return null
|
||||
|
||||
@@ -338,7 +338,7 @@
|
||||
if(is_alien_whitelisted(src, "Tajaran") || !config.usealienwhitelist)
|
||||
new_character.dna.mutantrace = "tajaran"
|
||||
new_character.tajaran_talk_understand = 1
|
||||
if(client.prefs.species == "Soghun")
|
||||
if(client.prefs.species == "Unathi")
|
||||
if(is_alien_whitelisted(src, "Soghun") || !config.usealienwhitelist)
|
||||
new_character.dna.mutantrace = "lizard"
|
||||
new_character.soghun_talk_understand = 1
|
||||
|
||||
@@ -138,7 +138,7 @@ datum/preferences
|
||||
if(species == "Tajaran")
|
||||
preview_icon = new /icon('icons/effects/species.dmi', "tajaran_[g]_s")
|
||||
preview_icon.Blend(new /icon('icons/effects/species.dmi', "tajtail_s"), ICON_OVERLAY)
|
||||
else if(species == "Soghun")
|
||||
else if(species == "Unathi")
|
||||
preview_icon = new /icon('icons/effects/species.dmi', "lizard_[g]_s")
|
||||
preview_icon.Blend(new /icon('icons/effects/species.dmi', "sogtail_s"), ICON_OVERLAY)
|
||||
else if(species == "Skrell")
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
name = "Bald"
|
||||
icon_state = "bald"
|
||||
gender = MALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
short
|
||||
name = "Short Hair" // try to capatilize the names please~
|
||||
@@ -119,7 +119,7 @@
|
||||
name = "Pompadour"
|
||||
icon_state = "hair_pompadour"
|
||||
gender = MALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
quiff
|
||||
name = "Quiff"
|
||||
@@ -142,19 +142,19 @@
|
||||
name = "Beehive"
|
||||
icon_state = "hair_beehive"
|
||||
gender = FEMALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
bobcurl
|
||||
name = "Bobcurl"
|
||||
icon_state = "hair_bobcurl"
|
||||
gender = FEMALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
bob
|
||||
name = "Bob"
|
||||
icon_state = "hair_bobcut"
|
||||
gender = FEMALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
bowl
|
||||
name = "Bowl"
|
||||
@@ -165,7 +165,7 @@
|
||||
name = "Buzzcut"
|
||||
icon_state = "hair_buzzcut"
|
||||
gender = MALE
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
crew
|
||||
name = "Crewcut"
|
||||
@@ -227,7 +227,7 @@
|
||||
mohawk
|
||||
name = "Mohawk"
|
||||
icon_state = "hair_d"
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
jensen
|
||||
name = "Adam Jensen Hair"
|
||||
icon_state = "hair_jensen"
|
||||
@@ -241,7 +241,7 @@
|
||||
spiky
|
||||
name = "Spiky"
|
||||
icon_state = "hair_spikey"
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
kusangi
|
||||
name = "Kusanagi Hair"
|
||||
icon_state = "hair_kusanagi"
|
||||
@@ -306,7 +306,7 @@
|
||||
name = "Shaved"
|
||||
icon_state = "bald"
|
||||
gender = NEUTER
|
||||
species_allowed = list("Human","Soghun","Tajaran","Skrell")
|
||||
species_allowed = list("Human","Unathi","Tajaran","Skrell")
|
||||
|
||||
watson
|
||||
name = "Watson Mustache"
|
||||
@@ -347,7 +347,7 @@
|
||||
elvis
|
||||
name = "Elvis Sideburns"
|
||||
icon_state = "facial_elvis"
|
||||
species_allowed = list("Human","Soghun")
|
||||
species_allowed = list("Human","Unathi")
|
||||
|
||||
abe
|
||||
name = "Abraham Lincoln Beard"
|
||||
@@ -382,11 +382,30 @@
|
||||
*/
|
||||
|
||||
/datum/sprite_accessory/hair
|
||||
tentacle_m
|
||||
name = "Skrell Male Tentacles"
|
||||
icon_state = "skrell_hair_m"
|
||||
species_allowed = list("Skrell")
|
||||
gender = MALE
|
||||
spines_long
|
||||
name = "Long Unathi Spines"
|
||||
icon_state = "soghun_longspines"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
spines_short
|
||||
name = "Short Unathi Spines"
|
||||
icon_state = "soghun_shortspines"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
frills_long
|
||||
name = "Long Unathi Frills"
|
||||
icon_state = "soghun_longfrills"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
frills_short
|
||||
name = "Short Unathi Frills"
|
||||
icon_state = "soghun_shortfrill"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
horns
|
||||
name = "Unathi Horns"
|
||||
icon_state = "soghun_horns"
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
tentacle_f
|
||||
name = "Skrell Female Tentacles"
|
||||
@@ -499,6 +518,7 @@
|
||||
name = "Smallsatche"
|
||||
icon_state = "facial_smallstache"
|
||||
species_allowed = list("Tajaran")
|
||||
|
||||
//skin styles - WIP
|
||||
//going to have to re-integrate this with surgery
|
||||
//let the icon_state hold an icon preview for now
|
||||
@@ -521,11 +541,11 @@
|
||||
icon = 'icons/mob/human_races/r_tajaran.dmi'
|
||||
species_allowed = list("Tajaran")
|
||||
|
||||
soghun
|
||||
name = "Default soghun skin"
|
||||
unathi
|
||||
name = "Default Unathi skin"
|
||||
icon_state = "default"
|
||||
icon = 'icons/mob/human_races/r_lizard.dmi'
|
||||
species_allowed = list("Soghun")
|
||||
species_allowed = list("Unathi")
|
||||
|
||||
skrell
|
||||
name = "Default skrell skin"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
for(var/mob/M in player_list)
|
||||
if(istype(M, /mob/new_player))
|
||||
continue
|
||||
if(M.client && M.client.holder && (M.client.prefs.toggles & CHAT_DEAD)) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above
|
||||
if(M.client && M.client.holder && M.client.holder.rights & R_ADMIN && (M.client.prefs.toggles & CHAT_DEAD)) //admins can toggle deadchat on and off. This is a proc in admin.dm and is only give to Administrators and above
|
||||
M << rendered //Admins can hear deadchat, if they choose to, no matter if they're blind/deaf or not.
|
||||
else if(M.stat == DEAD)
|
||||
M.show_message(rendered, 2) //Takes into account blindness and such.
|
||||
|
||||
Reference in New Issue
Block a user