Merge branch 'master' of git://github.com/Baystation12/Baystation12

Conflicts:
	code/modules/mob/mob_defines.dm
This commit is contained in:
Kreastr
2012-11-11 16:43:28 +02:00
54 changed files with 11487 additions and 10752 deletions
+30 -7
View File
@@ -287,12 +287,29 @@
icon_state = "wolfflight"
item_state = "wolfflight"
/obj/item/weapon/crowbar/fluff/zelda_creedy_1 //daaneesh: Zelda Creedy
name = "Zelda's Crowbar"
desc = "A pink crow bar that has an engraving that reads, 'To Zelda. Love always, Dawn'"
icon = 'icons/obj/custom_items.dmi'
icon_state = "zeldacrowbar"
item_state = "crowbar"
//////////////////////////////////
//////////// Clothing ////////////
//////////////////////////////////
//////////// Gloves ////////////
/obj/item/clothing/gloves/fluff/murad_hassim_1
name = "Tajaran Surgical Gloves"
desc = "Reinforced sterile gloves custom tailored to comfortably accommodate Tajaran claws."
icon_state = "latex"
item_state = "lgloves"
siemens_coefficient = 0.30
permeability_coefficient = 0.01
color="white"
/obj/item/clothing/gloves/fluff/walter_brooks_1 //botanistpower: Walter Brooks
name = "mittens"
desc = "A pair of well worn, blue mittens."
@@ -362,15 +379,21 @@
icon = 'custom_items.dmi'
icon_state = "enos_adlai_1"
/obj/item/clothing/head/fluff/edvin_telephosphor_1 //foolamancer: Edvin Telephosphor
name = "Edvin's Hat"
desc = "A hat specially tailored for Skrellian anatomy. It has a yellow badge on the front, with a large red 'T' inscribed on it."
icon = 'custom_items.dmi'
icon_state = "edvin_telephosphor_1"
//////////// Suits ////////////
/obj/item/clothing/suit/storage/labcoat/fluff/pink //spaceman96: Trenna Seber
/obj/item/clothing/suit/labcoat/fluff/pink //spaceman96: Trenna Seber
name = "pink labcoat"
desc = "A suit that protects against minor chemical spills. Has a pink stripe down from the shoulders."
icon = 'custom_items.dmi'
icon_state = "labcoat_pink_open"
/obj/item/clothing/suit/storage/det_suit/fluff/graycoat //vinceluk: Seth Sealis
/obj/item/clothing/suit/det_suit/fluff/graycoat //vinceluk: Seth Sealis
name = "gray coat"
desc = "Old, worn out coat. It's seen better days."
icon = 'custom_items.dmi'
@@ -378,7 +401,7 @@
item_state = "graycoat"
color = "graycoat"
/obj/item/clothing/suit/storage/det_suit/fluff/leatherjack //atomicdog92: Seth Sealis
/obj/item/clothing/suit/det_suit/fluff/leatherjack //atomicdog92: Seth Sealis
name = "leather jacket"
desc = "A black leather coat, popular amongst punks, greasers, and other galactic scum."
icon = 'custom_items.dmi'
@@ -386,7 +409,7 @@
item_state = "leatherjack"
color = "leatherjack"
/obj/item/clothing/suit/storage/labcoat/fluff/burnt //Jamini: Edwin Atweeke
/obj/item/clothing/suit/labcoat/fluff/burnt //Jamini: Edwin Atweeke
name = "burnt labcoat"
desc = "This lab coat has clearly seen better, less burnt, days."
icon = 'custom_items.dmi'
@@ -483,7 +506,7 @@
icon_state = "cdc_jumpsuit"
color = "cdc_jumpsuit"
/obj/item/clothing/suit/storage/labcoat/fluff/cdc_labcoat
/obj/item/clothing/suit/labcoat/fluff/cdc_labcoat
name = "\improper CDC labcoat"
desc = "A standard-issue CDC labcoat that protects against minor chemical spills. It has the name \"Wiles\" sewn on to the breast pocket."
icon = 'custom_items.dmi'
@@ -498,7 +521,7 @@
icon_state = "medical_short"
color = "medical_short"
/obj/item/clothing/suit/storage/labcoat/fluff/red
/obj/item/clothing/suit/labcoat/fluff/red
name = "red labcoat"
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon = 'custom_items.dmi'
@@ -506,7 +529,7 @@
////// Retired Patrol Outfit //desiderium: Rook Maudlin
/obj/item/clothing/suit/storage/det_suit/fluff/retpolcoat
/obj/item/clothing/suit/det_suit/fluff/retpolcoat
name = "retired colony patrolman's coat"
desc = "A clean, black nylon windbreaker with the words \"OUTER LIGHT POLICE\" embroidered in gold-dyed thread on the back. \"RETIRED\" is tastefully embroidered below in a smaller font."
icon = 'custom_items.dmi'
@@ -16,6 +16,55 @@
src.adding += using
action_intent = using
//intent small hud objects
var/icon/ico
ico = new('icons/mob/screen1_alien.dmi', "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
using = new /obj/screen( src )
using.name = "help"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
help_intent = using
ico = new('icons/mob/screen1_alien.dmi', "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
using = new /obj/screen( src )
using.name = "disarm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
disarm_intent = using
ico = new('icons/mob/screen1_alien.dmi', "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
using = new /obj/screen( src )
using.name = "grab"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
grab_intent = using
ico = new('icons/mob/screen1_alien.dmi', "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
using = new /obj/screen( src )
using.name = "harm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
hurt_intent = using
//end intent small hud objects
using = new /obj/screen()
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -73,15 +73,6 @@
if(!blinded)
flick("flash", flash)
if (stat == 2 && client)
gib()
return
else if (stat == 2 && !client)
xgibs(loc, viruses)
del(src)
return
var/shielded = 0
var/b_loss = null
@@ -70,15 +70,6 @@
if(!blinded)
flick("flash", flash)
if (stat == 2 && client)
gib()
return
else if (stat == 2 && !client)
gibs(loc, viruses)
del(src)
return
var/b_loss = null
var/f_loss = null
switch (severity)
@@ -134,7 +134,7 @@
if(istype(M) && M.lying) //Pulling lying down people is slower
tally += 3
if(MINCREASERUN in mutations)
if(mRun in mutations)
tally = 0
return tally
@@ -10,7 +10,7 @@
src.darkMask = list( )
src.intent_small_hud_objects = list( )
src.g_dither = new src.h_type( src )
src.g_dither = new /obj/screen( src )
src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.g_dither.name = "Mask"
src.g_dither.icon = ui_style
@@ -18,7 +18,7 @@
src.g_dither.layer = 18
src.g_dither.mouse_opacity = 0
src.alien_view = new src.h_type(src)
src.alien_view = new /obj/screen(src)
src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.alien_view.name = "Alien"
src.alien_view.icon = ui_style
@@ -26,7 +26,7 @@
src.alien_view.layer = 18
src.alien_view.mouse_opacity = 0
src.blurry = new src.h_type( src )
src.blurry = new /obj/screen( src )
src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.blurry.name = "Blurry"
src.blurry.icon = ui_style
@@ -34,7 +34,7 @@
src.blurry.layer = 17
src.blurry.mouse_opacity = 0
src.druggy = new src.h_type( src )
src.druggy = new /obj/screen( src )
src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.druggy.name = "Druggy"
src.druggy.icon = ui_style
@@ -44,7 +44,7 @@
var/obj/screen/using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "act_intent"
using.dir = SOUTHWEST
using.icon = ui_style
@@ -55,45 +55,55 @@
action_intent = using
//intent small hud objects
using = new src.h_type( src )
var/icon/ico
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
using = new /obj/screen( src )
using.name = "help"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "help" ? "help_small_active" : "help_small")
using.screen_loc = ui_help_small
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
help_intent = using
using = new src.h_type( src )
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
using = new /obj/screen( src )
using.name = "disarm"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "disarm" ? "disarm_small_active" : "disarm_small")
using.screen_loc = ui_disarm_small
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
disarm_intent = using
using = new src.h_type( src )
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
using = new /obj/screen( src )
using.name = "grab"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "grab" ? "grab_small_active" : "grab_small")
using.screen_loc = ui_grab_small
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
grab_intent = using
using = new src.h_type( src )
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
using = new /obj/screen( src )
using.name = "harm"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm_small_active" : "harm_small")
using.screen_loc = ui_harm_small
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
hurt_intent = using
//end intent small hud objects
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "mov_intent"
using.dir = SOUTHWEST
using.icon = ui_style
@@ -103,7 +113,7 @@
src.adding += using
move_intent = using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "drop"
using.icon = ui_style
using.icon_state = "act_drop"
@@ -111,7 +121,7 @@
using.layer = 19
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "r_hand"
using.dir = WEST
using.icon = ui_style
@@ -123,7 +133,7 @@
src.r_hand_hud_object = using
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "l_hand"
using.dir = EAST
using.icon = ui_style
@@ -135,7 +145,7 @@
src.l_hand_hud_object = using
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "hand"
using.dir = SOUTH
using.icon = ui_style
@@ -144,7 +154,7 @@
using.layer = 19
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "hand"
using.dir = SOUTH
using.icon = ui_style
@@ -153,7 +163,7 @@
using.layer = 19
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "mask"
using.dir = NORTH
using.icon = ui_style
@@ -162,7 +172,7 @@
using.layer = 19
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "back"
using.dir = NORTHEAST
using.icon = ui_style
@@ -171,7 +181,7 @@
using.layer = 19
src.adding += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
@@ -179,7 +189,7 @@
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
@@ -187,7 +197,7 @@
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
@@ -195,7 +205,7 @@
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
@@ -193,6 +193,8 @@
if(suiciding)
msg += "<span class='warning'>[t_He] [t_has] bitten off [t_his] own tongue and [t_has] suffered major bloodloss!</span>\n"
if(mSmallsize in mutations)
msg += "[t_He] [t_is] small halfling!\n"
var/distance = get_dist(usr,src)
if(istype(usr, /mob/dead/observer) || usr.stat == 2) // ghosts can see anything
+62 -13
View File
@@ -11,12 +11,61 @@
using.name = "act_intent"
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
using.icon_state = "intent_"+mymob.a_intent
using.screen_loc = ui_acti
using.layer = 20
src.adding += using
action_intent = using
//intent small hud objects
var/icon/ico
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
using = new /obj/screen( src )
using.name = "help"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
help_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
using = new /obj/screen( src )
using.name = "disarm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
disarm_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
using = new /obj/screen( src )
using.name = "grab"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
grab_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
using = new /obj/screen( src )
using.name = "harm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
hurt_intent = using
//end intent small hud objects
using = new /obj/screen()
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -345,84 +394,84 @@
/*/Monkey blockers
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_ears
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_belt
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_shoes
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_storage2
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_glasses
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_gloves
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_storage1
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_headset
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_oclothing
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_iclothing
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_id
using.layer = 20
src.mon_blo += using
using = new src.h_type( src )
using = new /obj/screen( src )
using.name = "blocked"
using.icon_state = "blocked"
using.screen_loc = ui_head
+127 -12
View File
@@ -228,18 +228,6 @@
if(!blinded)
flick("flash", flash)
// /obj/item/clothing/suit/bomb_suit(src)
// /obj/item/clothing/head/bomb_hood(src)
if (stat == 2 && client)
gib()
return
else if (stat == 2 && !client)
gibs(loc, viruses)
del(src)
return
var/shielded = 0
var/b_loss = null
var/f_loss = null
@@ -828,3 +816,130 @@
spawn(350) //wait 35 seconds before next volley
lastpuke = 0
/mob/living/carbon/human/proc/morph()
set name = "Morph"
set category = "Superpower"
if(!(mMorph in mutations))
src.verbs -= /mob/living/carbon/human/proc/morph
return
var/new_facial = input("Please select facial hair color.", "Character Generation",rgb(r_facial,g_facial,b_facial)) as color
if(new_facial)
r_facial = hex2num(copytext(new_facial, 2, 4))
g_facial = hex2num(copytext(new_facial, 4, 6))
b_facial = hex2num(copytext(new_facial, 6, 8))
var/new_hair = input("Please select hair color.", "Character Generation",rgb(r_hair,g_hair,b_hair)) as color
if(new_facial)
r_hair = hex2num(copytext(new_hair, 2, 4))
g_hair = hex2num(copytext(new_hair, 4, 6))
b_hair = hex2num(copytext(new_hair, 6, 8))
var/new_eyes = input("Please select eye color.", "Character Generation",rgb(r_eyes,g_eyes,b_eyes)) as color
if(new_eyes)
r_eyes = hex2num(copytext(new_eyes, 2, 4))
g_eyes = hex2num(copytext(new_eyes, 4, 6))
b_eyes = hex2num(copytext(new_eyes, 6, 8))
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", "[35-s_tone]") as text
if (!new_tone)
new_tone = 35
s_tone = max(min(round(text2num(new_tone)), 220), 1)
s_tone = -s_tone + 35
// hair
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
var/list/hairs = list()
// loop through potential hairs
for(var/x in all_hairs)
var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x
hairs.Add(H.name) // add hair name to hairs
del(H) // delete the hair after it's all done
var/new_style = input("Please select hair style", "Character Generation",h_style) as null|anything in hairs
// if new style selected (not cancel)
if (new_style)
h_style = new_style
// facial hair
var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
var/list/fhairs = list()
for(var/x in all_fhairs)
var/datum/sprite_accessory/facial_hair/H = new x
fhairs.Add(H.name)
del(H)
new_style = input("Please select facial style", "Character Generation",f_style) as null|anything in fhairs
if(new_style)
f_style = new_style
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
if (new_gender)
if(new_gender == "Male")
gender = MALE
else
gender = FEMALE
regenerate_icons()
check_dna()
visible_message("\blue \The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "\blue You change your appearance!", "\red Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")
/mob/living/carbon/human/proc/remotesay()
set name = "Project mind"
set category = "Superpower"
if(!(mRemotetalk in src.mutations))
src.verbs -= /mob/living/carbon/human/proc/remotesay
return
var/list/creatures = list()
for(var/mob/living/carbon/h in world)
creatures += h
var/mob/target = input ("Who do you want to project your mind to ?") as null|anything in creatures
if (isnull(target))
return
var/say = input ("What do you wish to say")
if(mRemotetalk in target.mutations)
target.show_message("\blue You hear [src.real_name]'s voice: [say]")
else
target.show_message("\blue You hear a voice that seems to echo around the room: [say]")
usr.show_message("\blue You project your mind into [target.real_name]: [say]")
for(var/mob/dead/observer/G in world)
G.show_message("<i>Telepathic message from <b>[src]</b> to <b>[target]</b>: [say]</i>")
/mob/living/carbon/human/proc/remoteobserve()
set name = "Remote View"
set category = "Superpower"
if(!(mRemote in src.mutations))
reset_view(0)
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
return
if(client.eye != client.mob)
reset_view(0)
return
var/list/mob/creatures = list()
for(var/mob/living/carbon/h in world)
var/turf/temp_turf = get_turf(h)
if(temp_turf.z != 1 && temp_turf.z != 5) //Not on mining or the station.
continue
creatures += h
var/mob/target = input ("Who do you want to project your mind to ?") as mob in creatures
if (target)
reset_view(target)
else
reset_view(0)
/mob/living/carbon/human/proc/get_visible_gender()
if(wear_suit && wear_suit.flags_inv & HIDEJUMPSUIT && ((head && head.flags_inv & HIDEMASK) || wear_mask))
return NEUTER
return gender
@@ -33,6 +33,9 @@
if (bodytemperature < 283.222)
tally += (283.222 - bodytemperature) / 10 * 1.75
if(mRun in mutations)
tally = 0
return (tally+config.human_delay)
/mob/living/carbon/human/Process_Spacemove(var/check_drift = 0)
+48 -9
View File
@@ -353,12 +353,28 @@
if((COLD_RESISTANCE in mutations) || (prob(1)))
heal_organ_damage(0,1)
if(mHallucination in mutations)
hallucination = 100
halloss = 0
if(mSmallsize in mutations)
if(!(pass_flags & PASSTABLE))
pass_flags |= PASSTABLE
else
if(pass_flags & PASSTABLE)
pass_flags &= ~PASSTABLE
// Make nanoregen heal youu, -3 all damage types
if(NANOREGEN in augmentations)
if((NANOREGEN in augmentations) || (mRegen in mutations))
var/healed = 0
var/hptoreg = 3
if(stat==UNCONSCIOUS) hptoreg=1
var/hptoreg = 0
if(NANOREGEN in augmentations)
hptoreg += 3
if(mRegen in mutations)
hptoreg += 2
if(stat==UNCONSCIOUS) hptoreg/=2
if(stat==DEAD) hptoreg=0
for(var/i=0, i<hptoreg, i++)
var/list/damages = new/list()
if(getToxLoss())
@@ -404,6 +420,27 @@
if(prob(5))
src << "\blue You feel your wounds mending..."
if(!(/mob/living/carbon/human/proc/morph in src.verbs))
if(mMorph in mutations)
src.verbs += /mob/living/carbon/human/proc/morph
else
if(!(mMorph in mutations))
src.verbs -= /mob/living/carbon/human/proc/morph
if(!(/mob/living/carbon/human/proc/remoteobserve in src.verbs))
if(mRemote in mutations)
src.verbs += /mob/living/carbon/human/proc/remoteobserve
else
if(!(mRemote in mutations))
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
if(!(/mob/living/carbon/human/proc/remotesay in src.verbs))
if(mRemotetalk in mutations)
src.verbs += /mob/living/carbon/human/proc/remotesay
else
if(!(mRemotetalk in mutations))
src.verbs -= /mob/living/carbon/human/proc/remotesay
if ((HULK in mutations) && health <= 25)
mutations.Remove(HULK)
update_mutations() //update our mutation overlays
@@ -535,10 +572,10 @@
proc/handle_breath(datum/gas_mixture/breath)
if(nodamage || REBREATHER in augmentations)
if(nodamage || (REBREATHER in augmentations) || (mNobreath in mutations))
return
if(!breath || (breath.total_moles == 0) || suiciding)
if(!breath || (breath.total_moles() == 0) || suiciding)
if(reagents.has_reagent("inaprovaline"))
return
if(suiciding)
@@ -966,7 +1003,7 @@
adjustToxLoss(-1)
adjustOxyLoss(-1)
//The fucking FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
/* //The fucking FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(FAT in mutations)
if(overeatduration < 100)
src << "\blue You feel fit again!"
@@ -975,7 +1012,7 @@
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
/* else
else
if(overeatduration > 500)
src << "\red You suddenly feel blubbery!"
mutations.Add(FAT)
@@ -983,7 +1020,8 @@
update_mutations(0)
update_inv_w_uniform(0)
update_inv_wear_suit()
AND YOU */
*/
// nutrition decrease
if (nutrition > 0 && stat != 2)
nutrition = max (0, nutrition - HUNGER_FACTOR)
@@ -1394,7 +1432,8 @@ AND YOU */
if(machine)
if(!machine.check_eye(src)) reset_view(null)
else
if(!client.adminobs) reset_view(null)
if(!(mRemote in mutations) && !client.adminobs)
reset_view(null)
return 1
proc/handle_random_events()
@@ -201,13 +201,6 @@
/mob/living/carbon/metroid/ex_act(severity)
if (stat == 2 && client)
return
else if (stat == 2 && !client)
del(src)
return
var/b_loss = null
var/f_loss = null
switch (severity)
@@ -16,6 +16,55 @@
src.adding += using
action_intent = using
//intent small hud objects
var/icon/ico
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height())
using = new /obj/screen( src )
using.name = "help"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
help_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height())
using = new /obj/screen( src )
using.name = "disarm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
disarm_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2)
using = new /obj/screen( src )
using.name = "grab"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
grab_intent = using
ico = new(ui_style, "black")
ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1)
ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2)
using = new /obj/screen( src )
using.name = "harm"
using.icon = ico
using.screen_loc = ui_acti
using.layer = 21
src.adding += using
hurt_intent = using
//end intent small hud objects
using = new /obj/screen()
using.name = "mov_intent"
using.dir = SOUTHWEST
@@ -477,14 +477,7 @@
/mob/living/carbon/monkey/ex_act(severity)
if(!blinded)
flick("flash", flash)
if (stat == 2 && client)
gib()
return
if (stat == 2 && !client)
gibs(loc, viruses)
del(src)
return
switch(severity)
if(1.0)
if (stat != 2)
+2
View File
@@ -40,6 +40,8 @@
/mob/living/proc/burn_skin(burn_amount)
if(istype(src, /mob/living/carbon/human))
//world << "DEBUG: burn_skin(), mutations=[mutations]"
if(mShock in src.mutations) //shockproof
return 0
if (COLD_RESISTANCE in src.mutations) //fireproof
return 0
var/mob/living/carbon/human/H = src //make this damage method divide the damage to be done among all the body parts, then burn each body part for that much damage. will have better effect then just randomly picking a body part
+2 -2
View File
@@ -2,5 +2,5 @@
..()
if(!key && mind) //key and mind have become seperated.
mind.active = 0 //This is to stop say, a mind.transfer_to call on a corpse causing a ghost to re-enter its body.
if(!immune_to_ssd && sleeping < 2)
sleeping = 2
if(!immune_to_ssd && sleeping < 2 && mind.active)
sleeping = 2
+20 -1
View File
@@ -117,9 +117,20 @@
return
//if(icon_state == initial(icon_state))
var/icontype = input("Please, select a display!", "AI", null/*, null*/) in list("Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static")
var/icontype = ""
var/list/icons = list("Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static")
if (src.name == "B.A.N.N.E.D." && src.ckey == "spaceman96")
icons += "B.A.N.N.E.D."
if (src.name == "M00X-BC" && src.ckey == "searif")
icons += "M00X-BC"
if (src.name == "TRIBUNAL" && src.ckey == "serithi")
icons += "Tribunal"
icons += "Tribunal Malfunctioning"
if (src.name == "Skuld" && src.ckey == "ravensdale")
icons += "Skuld"
/* if(icontype == "Clown")
icon_state = "ai-clown2"*/
icontype = input("Please, select a display!", "AI", null/*, null*/) in icons
if(icontype == "Monochrome")
icon_state = "ai-mono"
else if(icontype == "Blue")
@@ -134,6 +145,14 @@
icon_state = "ai-malf"
else if(icontype == "Static")
icon_state = "ai-static"
else if(icontype == "M00X-BC")
icon_state = "ai-searif"
else if(icontype == "Tribunal")
icon_state = "ai-tribunal"
else if(icontype == "Tribunal Malfunctioning")
icon_state = "ai-tribunal-malf"
else if(icontype == "Skuld")
icon_state = "ai-ravensdale"
//else
//usr <<"You can only change your display once!"
//return
+3 -2
View File
@@ -1,8 +1,9 @@
/mob/living/silicon/ai/death(gibbed)
if(stat == DEAD) return
stat = DEAD
icon_state = "ai-crash"
if (src.name == "Skuld" && src.ckey == "ravensdale")//checks ID of AI and player to see if it needs to pull the custom death sprite and goes to blue-screen if it doesn't
icon_state = "ai-ravensdale-crash"
else icon_state = "ai-crash"
update_canmove()
if(src.eyeobj)
src.eyeobj.setLoc(get_turf(src))
@@ -277,14 +277,6 @@
if(!blinded)
flick("flash", flash)
if (stat == 2 && client)
gib()
return
else if (stat == 2 && !client)
del(src)
return
switch(severity)
if(1.0)
if (stat != 2)
+1 -1
View File
@@ -2,7 +2,7 @@
density = 1
layer = 4.0
animate_movement = 2
flags = NOREACT
// flags = NOREACT
glide_size = 8
var/datum/mind/mind
+14 -10
View File
@@ -360,23 +360,27 @@
else
usr << "\blue You don't have an oxygen tank."
if("act_intent")
usr.a_intent_change("right")
/* if("help")
if(issilicon(usr))
if(usr.a_intent == "help")
usr.a_intent = "hurt"
usr.hud_used.action_intent.icon_state = "harm"
else
usr.a_intent = "help"
usr.hud_used.action_intent.icon_state = "help"
else
usr.a_intent_change("right")
if("help")
usr.a_intent = "help"
usr.hud_used.action_intent.icon_state = "help"
usr.hud_used.show_intent_icons = 0
usr.hud_used.action_intent.icon_state = "intent_help"
if("harm")
usr.a_intent = "hurt"
usr.hud_used.action_intent.icon_state = "harm"
usr.hud_used.show_intent_icons = 0
usr.hud_used.action_intent.icon_state = "intent_hurt"
if("grab")
usr.a_intent = "grab"
usr.hud_used.action_intent.icon_state = "grab"
usr.hud_used.show_intent_icons = 0
usr.hud_used.action_intent.icon_state = "intent_grab"
if("disarm")
usr.a_intent = "disarm"
usr.hud_used.action_intent.icon_state = "disarm"
usr.hud_used.show_intent_icons = 0 */
usr.hud_used.action_intent.icon_state = "intent_disarm"
if("pull")
usr.stop_pulling()
if("throw")
+21 -13
View File
@@ -251,8 +251,9 @@ datum
multiplier = max(multiplier, 1) //this shouldnt happen ...
add_reagent(C.result, C.result_amount*multiplier)
for(var/mob/M in viewers(4, get_turf(my_atom)) )
M << "\blue \icon[my_atom] The solution begins to bubble."
if(!isliving(my_atom))
for(var/mob/M in viewers(4, get_turf(my_atom)) )
M << "\blue \icon[my_atom] The solution begins to bubble."
if(istype(my_atom, /obj/item/metroid_core))
var/obj/item/metroid_core/ME = my_atom
@@ -396,13 +397,17 @@ datum
for(var/A in reagent_list)
var/datum/reagent/R = A
if (R.id == reagent)
R.volume -= amount
update_total()
if(!safety)//So it does not handle reactions when it need not to
handle_reactions()
my_atom.on_reagent_change()
return 0
var/datum/compare = chemical_reagents_list[reagent]
if(istype(R,compare))
var/amt = max(0,min(R.volume,amount))
R.volume -= amt
amount -= amt
if(amount<=0)
update_total()
if(!safety)//So it does not handle reactions when it need not to
handle_reactions()
my_atom.on_reagent_change()
return 0
return 1
@@ -410,7 +415,8 @@ datum
for(var/A in reagent_list)
var/datum/reagent/R = A
if (R.id == reagent)
var/datum/compare = chemical_reagents_list[reagent]
if(istype(R,compare))
if(!amount) return R
else
if(R.volume >= amount) return R
@@ -419,12 +425,14 @@ datum
return 0
get_reagent_amount(var/reagent)
var/amnt = 0
for(var/A in reagent_list)
var/datum/reagent/R = A
if (R.id == reagent)
return R.volume
var/datum/compare = chemical_reagents_list[reagent]
if(istype(R,compare))
amnt += R.volume
return 0
return amnt
get_reagents()
var/res = ""
+14 -4
View File
@@ -27,9 +27,14 @@ datum
required_reagents = list("water" = 1, "potassium" = 1)
result_amount = 2
on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round (created_volume/10, 1), location, 0, 0)
e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0)
e.holder_damage(holder.my_atom)
if(isliving(holder.my_atom))
e.amount *= 0.5
var/mob/living/L = holder.my_atom
if(L.stat!=DEAD)
e.amount *= 0.5
e.start()
holder.clear_reagents()
return
@@ -317,9 +322,14 @@ datum
required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1)
result_amount = 2
on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round (created_volume/2, 1), location, 0, 0)
e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0)
e.holder_damage(holder.my_atom)
if(isliving(holder.my_atom))
e.amount *= 0.5
var/mob/living/L = holder.my_atom
if(L.stat!=DEAD)
e.amount *= 0.5
e.start()
holder.clear_reagents()
@@ -55,7 +55,7 @@
/obj/item/weapon/reagent_containers/hypospray/autoinjector
name = "autoinjector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel."
icon_state = "autoinjector"
icon_state = "autoinjector1"
item_state = "autoinjector"
amount_per_transfer_from_this = 5
volume = 5