This commit is contained in:
Cheridan
2013-07-03 00:06:52 -05:00
149 changed files with 5043 additions and 4538 deletions
+3 -1
View File
@@ -1,2 +1,4 @@
/mob/dead/observer/Login()
..()
..()
if(client.prefs.unlock_content)
icon_state = client.prefs.ghost_form
+2 -5
View File
@@ -37,10 +37,7 @@
if(body.real_name)
name = body.real_name
else
if(gender == MALE)
name = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
else
name = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
name = random_name(gender)
mind = body.mind //we don't transfer the mind but we keep a reference to it.
@@ -48,7 +45,7 @@
loc = T
if(!name) //To prevent nameless ghosts
name = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
name = random_name(gender)
real_name = name
..()
@@ -3,8 +3,6 @@
var/list/stomach_contents = list()
var/list/internal_organs = list() //List of /obj/item/organ in the mob. they don't go in the contents.
var/antibodies = 0
var/silent = null //Can't talk. Value goes down every life proc.
var/obj/item/handcuffed = null //Whether or not the mob is handcuffed
@@ -14,5 +12,5 @@
var/obj/item/back = null
var/obj/item/clothing/mask/wear_mask = null
var/obj/item/weapon/tank/internal = null
var/datum/dna/dna = null//Carbon
var/datum/dna/dna = null//Carbon
@@ -105,12 +105,6 @@ emp_act
return 1
return 0
/mob/living/carbon/human/emp_act(severity)
for(var/obj/O in src)
if(!O) continue
O.emp_act(severity)
..()
/mob/living/carbon/human/proc/attacked_by(var/obj/item/I, var/mob/living/user, var/def_zone)
if(!I || !user) return 0
@@ -29,7 +29,6 @@
var/toxins_alert = 0
var/fire_alert = 0
var/pressure_alert = 0
var/prev_gender = null // Debug for plural genders
var/temperature_alert = 0
var/tinttotal = 0 // Total level of visualy impairing items
@@ -139,7 +139,7 @@
else
if (M.a_intent == "harm")
if ((prob(75) && health > 0))
if (prob(75))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has punched [name]!</B>", M), 1)
@@ -148,7 +148,7 @@
var/damage = rand(5, 10)
if (prob(40))
damage = rand(10, 15)
if (paralysis < 5)
if ( (paralysis < 5) && (health > 0) )
Paralyse(rand(10, 15))
spawn( 0 )
for(var/mob/O in viewers(src, null))
+4 -4
View File
@@ -6,10 +6,10 @@
var/health = 100 //A mob's health
//Damage related vars, NOTE: THESE SHOULD ONLY BE MODIFIED BY PROCS
var/bruteloss = 0.0 //Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
var/oxyloss = 0.0 //Oxygen depravation damage (no air in lungs)
var/toxloss = 0.0 //Toxic damage caused by being poisoned or radiated
var/fireloss = 0.0 //Burn damage caused by being way too hot, too cold or burnt.
var/bruteloss = 0 //Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
var/oxyloss = 0 //Oxygen depravation damage (no air in lungs)
var/toxloss = 0 //Toxic damage caused by being poisoned or radiated
var/fireloss = 0 //Burn damage caused by being way too hot, too cold or burnt.
var/cloneloss = 0 //Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims
var/brainloss = 0 //'Retardation' damage caused by someone hitting you in the head with a bible or being infected with brainrot.
var/halloss = 0 //Hallucination damage. 'Fake' damage obtained through hallucinating or the holodeck. Sleeping should cause it to wear off.
+7 -2
View File
@@ -128,7 +128,7 @@ var/list/ai_list = list()
return
//if(icon_state == initial(icon_state))
var/icontype = input("Please, select a display!", "AI", null/*, null*/) in list("Clown", "Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static")
var/icontype = input("Please, select a display!", "AI", null/*, null*/) in list("Clown", "Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static", "Red October")
if(icontype == "Clown")
icon_state = "ai-clown2"
else if(icontype == "Monochrome")
@@ -145,6 +145,8 @@ var/list/ai_list = list()
icon_state = "ai-malf"
else if(icontype == "Static")
icon_state = "ai-static"
else if(icontype == "Red October")
icon_state = "ai-redoctober"
//else
//usr <<"You can only change your display once!"
//return
@@ -620,7 +622,8 @@ var/list/ai_list = list()
else
var/icon_list[] = list(
"default",
"floating face"
"floating face",
"xeno queen"
)
input = input("Please select a hologram:") as null|anything in icon_list
if(input)
@@ -630,6 +633,8 @@ var/list/ai_list = list()
holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1"))
if("floating face")
holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo2"))
if("xeno queen")
holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo3"))
return
/mob/living/silicon/ai/proc/corereturn()
@@ -329,7 +329,7 @@
/mob/living/silicon/pai/proc/downloadSoftware()
var/dat = ""
dat += "<h2>CentComm pAI Module Subversion Network</h2><br>"
dat += "<h2>Centcom pAI Module Subversion Network</h2><br>"
dat += "<pre>Remaining Available Memory: [src.ram]</pre><br>"
dat += "<p style=\"text-align:center\"><b>Trunks available for checkout</b><br>"
@@ -83,7 +83,7 @@
emag = new /obj/item/borg/stun(src)
modules += new /obj/item/weapon/rcd/borg(src)
modules += new /obj/item/weapon/extinguisher(src)
modules += new /obj/item/weapon/weldingtool/largetank(src)
modules += new /obj/item/weapon/weldingtool/largetank/cyborg(src)
modules += new /obj/item/weapon/screwdriver(src)
modules += new /obj/item/weapon/wrench(src)
modules += new /obj/item/weapon/crowbar(src)
@@ -25,7 +25,7 @@
var/corpseid = 0 //Just set to 1 if you want them to have an ID
var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access
var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access.
var/corpseidicon = null //For setting it to be a gold, silver, centcomm etc ID
var/corpseidicon = null //For setting it to be a gold, silver, centcom etc ID
/obj/effect/landmark/mobcorpse/New()
createCorpse()
@@ -126,6 +126,7 @@
var/list/allowed_types = list(
/obj/item/clothing/suit/armor/vest,
/obj/item/device/radio,
/obj/item/device/radio/off,
/obj/item/clothing/suit/cardborg,
/obj/item/weapon/tank/oxygen,
/obj/item/weapon/tank/air,
+12 -13
View File
@@ -1,6 +1,6 @@
/mob
density = 1
layer = 4.0
layer = 4
animate_movement = 2
flags = NOREACT
var/datum/mind/mind
@@ -37,11 +37,10 @@
var/lastattacker = null
var/lastattacked = null
var/attack_log = list( )
var/already_placed = 0.0
var/already_placed = 0
var/obj/machinery/machine = null
var/other_mobs = null
var/memory = ""
var/poll_answer = 0.0
var/sdisabilities = 0 //Carbon
var/disabilities = 0 //Carbon
var/atom/movable/pulling = null
@@ -73,24 +72,24 @@
var/name_archive //For admin things like possession
var/timeofdeath = 0.0//Living
var/cpr_time = 1.0//Carbon
var/timeofdeath = 0//Living
var/cpr_time = 1//Carbon
var/bodytemperature = 310.055 //98.7 F
var/drowsyness = 0.0//Carbon
var/drowsyness = 0//Carbon
var/dizziness = 0//Carbon
var/is_dizzy = 0
var/is_jittery = 0
var/jitteriness = 0//Carbon
var/charges = 0.0
var/nutrition = 400.0//Carbon
var/charges = 0
var/nutrition = 400//Carbon
var/overeatduration = 0 // How long this guy is overeating //Carbon
var/paralysis = 0.0
var/stunned = 0.0
var/weakened = 0.0
var/losebreath = 0.0//Carbon
var/paralysis = 0
var/stunned = 0
var/weakened = 0
var/losebreath = 0//Carbon
var/intent = null//Living
var/shakecamera = 0
var/a_intent = "help"//Living
@@ -126,7 +125,7 @@
var/const/deafness = 2//Carbon
var/const/muteness = 4//Carbon
var/radiation = 0.0//Carbon
var/radiation = 0//Carbon
var/list/mutations = list() //Carbon -- Doohl
//see: setup.dm for list of mutations
+5 -3
View File
@@ -120,9 +120,11 @@ proc/isorgan(A)
return 1
return 0
/proc/hsl2rgb(h, s, l)
return
/proc/isloyal(A) //Checks to see if the person contains a loyalty implant, then checks that the implant is actually inside of them
for(var/obj/item/weapon/implant/loyalty/L in A)
if(L && L.implanted)
return 1
return 0
/proc/check_zone(zone)
if(!zone) return "chest"
+18 -1
View File
@@ -485,4 +485,21 @@
prob_slip = 0 // Changing this to zero to make it line up with the comment.
prob_slip = round(prob_slip)
return(prob_slip)
return(prob_slip)
/mob/proc/Move_Pulled(var/atom/A)
if (!canmove || restrained() || !pulling)
return
if (pulling.anchored)
return
if ((pulling.loc != loc && get_dist(src, pulling) > 1) || !isturf(pulling.loc))
return
if (ismob(pulling))
var/mob/M = pulling
var/atom/movable/t = M.pulling
M.stop_pulling()
step(pulling, get_dir(pulling.loc, A))
M.start_pulling(t)
else
step(pulling, get_dir(pulling.loc, A))
return
+6 -3
View File
@@ -63,7 +63,7 @@
..()
statpanel("Lobby")
if(client.statpanel=="Lobby" && ticker)
if(client.statpanel == "Lobby" && ticker)
if(ticker.hide_mode)
stat("Game Mode:", "Secret")
else
@@ -84,6 +84,9 @@
if(player.ready)totalPlayersReady++
Topic(href, href_list[])
if(src != usr)
return 0
if(!client) return 0
if(href_list["show_preferences"])
@@ -286,8 +289,8 @@
var/dat = "<html><body><center>"
dat += "Round Duration: [round(hours)]h [round(mins)]m<br>"
if(emergency_shuttle) //In case Nanotrasen decides reposess CentComm's shuttles.
if(emergency_shuttle.direction == 2) //Shuttle is going to centcomm, not recalled
if(emergency_shuttle) //In case Nanotrasen decides reposess Centcom's shuttles.
if(emergency_shuttle.direction == 2) //Shuttle is going to centcom, not recalled
dat += "<font color='red'><b>The station has been evacuated.</b></font><br>"
if(emergency_shuttle.direction == 1 && emergency_shuttle.timeleft() < 300) //Shuttle is past the point of no recall
dat += "<font color='red'>The station is currently undergoing evacuation procedures.</font><br>"
+44 -131
View File
@@ -83,140 +83,53 @@
var/list/PL = params2list(params)
var/icon_x = text2num(PL["icon-x"])
var/icon_y = text2num(PL["icon-y"])
var/old_selecting = selecting //We're only going to update_icon() if there's been a change
if(icon_y < 2)
return
if(icon_y < 4)
if(icon_x > 9 && icon_x < 16)
selecting = "r_leg"
else if(icon_x > 15 && icon_x < 23)
selecting = "l_leg"
else
return
else if(icon_y < 11)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 16)
selecting = "r_leg"
else
selecting = "l_leg"
else
return
else if(icon_y < 12)
if(icon_x > 7 && icon_x < 12)
selecting = "r_arm"
else if(icon_x > 11 && icon_x < 14)
selecting = "r_leg"
else if(icon_x < 19)
selecting = "groin"
else if(icon_x > 18 && icon_x < 21)
selecting = "l_leg"
else if(icon_x > 20 && icon_x < 25)
selecting = "l_arm"
else
return
else if(icon_y < 13)
if(icon_x > 7 && icon_x < 25)
if(icon_x < 13)
selecting = "r_leg"
else if(icon_x < 20)
selecting = "groin"
else if(icon_x < 21)
selecting = "l_leg"
else
return
else if(icon_y < 14)
if(icon_x > 11 && icon_x < 21)
selecting = "groin"
else if(icon_x > 7 && icon_x < 12)
selecting = "r_arm"
else if(icon_x > 20 && icon_x < 25)
selecting = "l_arm"
else
return
else if(icon_y < 16)
if(icon_x > 7 && icon_x < 25)
if(icon_x < 20)
selecting = "chest"
else
return
else if(icon_y < 23)
if(icon_x > 7 && icon_x < 25)
if(icon_x < 12)
selecting = "r_arm"
else if(icon_x < 21)
selecting = "chest"
else
selecting = "l_arm"
else
return
else if(icon_y < 24)
if(icon_x > 11 && icon_x < 21)
selecting = "chest"
else
return
else if(icon_y < 25)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 16)
switch(icon_y)
if(1 to 9) //Legs
switch(icon_x)
if(10 to 15)
selecting = "r_leg"
if(17 to 22)
selecting = "l_leg"
else
return
if(10 to 13) //Hands and groin
switch(icon_x)
if(8 to 11)
selecting = "r_arm"
if(12 to 20)
selecting = "groin"
if(21 to 24)
selecting = "l_arm"
else
return
if(14 to 22) //Chest and arms to shoulders
switch(icon_x)
if(8 to 11)
selecting = "r_arm"
if(12 to 20)
selecting = "chest"
if(21 to 24)
selecting = "l_arm"
else
return
if(23 to 30) //Head, but we need to check for eye or mouth
if(icon_x in 12 to 20)
selecting = "head"
else if(icon_x < 17)
selecting = "mouth"
else
selecting = "head"
else
return
else if(icon_y < 26)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 15)
selecting = "head"
else if(icon_x < 18)
selecting = "mouth"
else
selecting = "head"
else
return
else if(icon_y < 27)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 15)
selecting = "head"
else if(icon_x < 16)
selecting = "eyes"
else if(icon_x < 17)
selecting = "mouth"
else if(icon_x < 18)
selecting = "eyes"
else
selecting = "head"
else
return
else if(icon_y < 28)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 14)
selecting = "head"
else if(icon_x < 19)
selecting = "eyes"
else
selecting = "head"
else
return
else if(icon_y < 29)
if(icon_x > 11 && icon_x < 21)
if(icon_x < 15)
selecting = "head"
else if(icon_x < 16)
selecting = "eyes"
else if(icon_x < 17)
selecting = "head"
else if(icon_x < 18)
selecting = "eyes"
else
selecting = "head"
else
return
else if(icon_y < 31)
if(icon_x > 11 && icon_x < 21)
selecting = "head"
switch(icon_y)
if(23 to 24)
if(icon_x in 15 to 17)
selecting = "mouth"
if(26) //Eyeline, eyes are on 15 and 17
if(icon_x in 14 to 18)
selecting = "eyes"
if(25 to 27)
if(icon_x in 15 to 17)
selecting = "eyes"
update_icon()
if(old_selecting != selecting)
update_icon()
/obj/screen/zone_sel/update_icon()
overlays.Cut()