Lawyer now has a purple suit and the job has two slots.

Lowered the number of spare jumpsuits in most of the lockers from 6 to 3.
The old arrival message is now back in.
Finished the Ion Rifle and added one to the armory.  Might need to change it up a bit depending on how well it works.
Bullet_act worked on a bit, EMP effects should work now.
Cyborgs are stunned by EMPs.
Raised the changelings required genome number for multichan at the request of Urist. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2175 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-09-11 11:39:44 +00:00
parent 6575e3e251
commit e95d16da16
54 changed files with 8678 additions and 8665 deletions

View File

@@ -0,0 +1,64 @@
/*Contains most of the "Law" uniforms*/
/obj/item/clothing/under/lawyer
desc = "Slick threads."
name = "Lawyer suit"
flags = FPRINT | TABLEPASS
/obj/item/clothing/under/lawyer/black
icon_state = "lawyer_black"
item_state = "lawyer_black"
color = "lawyer_black"
/obj/item/clothing/under/lawyer/red
icon_state = "lawyer_red"
item_state = "lawyer_red"
color = "lawyer_red"
/obj/item/clothing/under/lawyer/blue
icon_state = "lawyer_blue"
item_state = "lawyer_blue"
color = "lawyer_blue"
/obj/item/clothing/under/lawyer/bluesuit
name = "Blue Suit"
desc = "A classy suit and tie"
icon_state = "bluesuit"
item_state = "bluesuit"
color = "bluesuit"
/obj/item/clothing/suit/lawyer/bluejacket
name = "Blue Suit Jacket"
desc = "A snappy dress jacket."
icon_state = "suitjacket_blue_open"
item_state = "suitjacket_blue_open"
body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/under/lawyer/purpsuit
name = "Purple Suit"
icon_state = "lawyer_purp"
item_state = "lawyer_purp"
color = "lawyer_purp"
/obj/item/clothing/suit/lawyer/purpjacket
name = "Purple Suit Jacket"
desc = "A snappy dress jacket."
icon_state = "suitjacket_purp"
item_state = "suitjacket_purp"
body_parts_covered = UPPER_TORSO|ARMS
/obj/item/clothing/suit/judgerobe
name = "judge's robe"
desc = "This robe commands authority."
icon_state = "judge"
item_state = "judge"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/cigpacket,/obj/item/weapon/spacecash)

View File

@@ -68,6 +68,7 @@ Contains the procs that control attacking critters
bullet_act(var/obj/item/projectile/Proj)
TakeDamage(Proj.damage)
..()
ex_act(severity)

View File

@@ -177,6 +177,13 @@
else
eye_blurry += Proj.effects["eyeblur"]
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
return
/mob/living/carbon/alien/humanoid/emp_act(severity)

View File

@@ -153,6 +153,13 @@
else
eye_blurry += Proj.effects["eyeblur"]
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
return
/mob/living/carbon/alien/larva/emp_act(severity)

View File

@@ -400,6 +400,13 @@
else
eye_blurry += P.effects["eyeblur"]
if(P.effects["emp"])
var/emppulse = P.effects["emp"]
if(prob(P.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
return
/mob/living/carbon/human/emp_act(severity)

View File

@@ -187,6 +187,14 @@
// ~~~~ N
// Metroids aren't effected by extra status effects. DO NOT NERF THIS PLZ THNX - LOVE, DOOHL 3===========D ~~~~ HONK
// ~~~~ H
//EMP is special and yes they are because emp
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
/mob/living/carbon/metroid/emp_act(severity)
powerlevel = 0 // oh no, the power!

View File

@@ -184,6 +184,14 @@
eye_blurry = Proj.effects["eyeblur"]
else
eye_blurry += Proj.effects["eyeblur"]
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
return
/mob/living/carbon/monkey/hand_p(mob/M as mob)

View File

@@ -87,6 +87,8 @@
else
eye_blurry += Proj.effects["eyeblur"]
..()
/mob/living/proc/updatehealth()
if (!src.nodamage)

View File

@@ -268,6 +268,14 @@
// AI bullet code is pretty simple. No other effects really need to be added.
if(!Proj.nodamage) bruteloss += Proj.damage
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
updatehealth()

View File

@@ -117,6 +117,12 @@
/mob/living/silicon/pai/bullet_act(var/obj/item/projectile/Proj)
bruteloss += Proj.damage
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
updatehealth()
return

View File

@@ -278,6 +278,14 @@
/mob/living/silicon/robot/bullet_act(var/obj/item/projectile/Proj)
if(!Proj.nodamage) bruteloss += Proj.damage
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
updatehealth()
if(prob(75) && Proj.damage > 0) spark_system.start()
return

View File

@@ -8,7 +8,13 @@
return
/mob/living/silicon/emp_act(severity)
src.take_organ_damage(60)
switch(severity)
if(1)
src.take_organ_damage(40)
src.stunned = max(src.stunned,rand(5,10))
if(2)
src.take_organ_damage(20)
src.stunned = max(src.stunned,rand(1,5))
flick("noise", src:flash)
src << "\red <B>*BZZZT*</B>"
src << "\red Warning: Electromagnetic pulse detected."

View File

@@ -295,8 +295,7 @@ mob/new_player
var/mob/living/silicon/ai/announcer = pick(ailist)
if(character.mind)
if((character.mind.assigned_role != "Cyborg") && (character.mind.special_role != "MODE"))
announcer.say("[character.real_name] has been sent from Centcom to fill the job of [rank] on [station_name].")
//announcer.say("[character.real_name], the [rank], has awoken from cryo sleep.") -Old Message
announcer.say("[character.real_name] has signed up as [rank].")
proc/ManifestLateSpawn(var/mob/living/carbon/human/H, icon/H_icon) // Attempted fix to add late joiners to various databases -- TLE

View File

@@ -175,6 +175,12 @@ field_generator power level display
if(Proj.flag != "bullet")
power += Proj.damage
update_icon()
if(Proj.effects["emp"])
var/emppulse = Proj.effects["emp"]
if(prob(Proj.effectprob["emp"]))
empulse(src, emppulse, emppulse)
else
empulse(src, 0, emppulse)
return

View File

@@ -31,6 +31,7 @@ var/global/list/uneatable = list(
consume_range = 0 //How many tiles out do we eat
event_chance = 15 //Prob for event each tick
target = null //its target. moves towards the target if it has one
last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing
New(loc, var/starting_energy = 50, var/temp = 0)
@@ -269,10 +270,17 @@ var/global/list/uneatable = list(
move(var/movement_dir = 0)
if(!move_self)
return 0
if(!(movement_dir in cardinal))
movement_dir = pick(NORTH, SOUTH, EAST, WEST)
if(target && prob(80))
movement_dir = get_dir(src,target) //moves to a singulo beacon, if there is one
else if(!(movement_dir in cardinal))
movement_dir = pick(NORTH, SOUTH, EAST, WEST)
if(movement_dir == last_failed_movement)
var/list/L = new/list(NORTH, SOUTH, EAST, WEST)
L.Remove(last_failed_movement)
movement_dir = pick(L)
if(current_size >= 9)//The superlarge one does not care about things in its way
spawn(0)
step(src, movement_dir)
@@ -280,9 +288,12 @@ var/global/list/uneatable = list(
step(src, movement_dir)
return 1
else if(check_turfs_in(movement_dir))
last_failed_movement = 0//Reset this because we moved
spawn(0)
step(src, movement_dir)
return 1
else
last_failed_movement = movement_dir
return 0