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:
Cael_Aislinn
2013-02-25 14:30:00 +10:00
141 changed files with 10412 additions and 8264 deletions
+1 -1
View File
@@ -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"
*/
+3 -4
View File
@@ -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")
+22 -21
View File
@@ -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)
+4 -2
View File
@@ -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
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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.