Corrected CentCom Officer suit and added the Commander suit.

Minor adjustments to alien health icons.
Fixed aliens hissing when they were doing their regular emotes.
Added death sound to aliens.
Aliens can now properly attack/interact with space carp.
Adjusted alien damage to monkeys.
A few wip sprites.
Fixed pulse rifles, again.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@729 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
noisomehollow@lycos.com
2010-12-28 19:51:32 +00:00
parent e11d311a14
commit d963bfe6e3
14 changed files with 75 additions and 45 deletions
+9 -2
View File
@@ -904,10 +904,17 @@
/obj/item/clothing/under/rank/centcom_officer
desc = "It has a CentCom officer rank stripe on it."
name = "CentCom Officer Jumpsuit"
icon_state = "hop"
item_state = "b_suit"
icon_state = "officer"
item_state = "g_suit"
color = "officer"
/obj/item/clothing/under/rank/centcom_commander
desc = "It has a CentCom commander rank stripe on it."
name = "CentCom Officer Jumpsuit"
icon_state = "centcom"
item_state = "dg_suit"
color = "centcom"
/obj/item/clothing/under/rank/head_of_security
desc = "It has a Head of Security rank stripe on it."
name = "Head of Security Jumpsuit"
+23 -27
View File
@@ -68,30 +68,30 @@ TELEPORT GUN
spawn()
A.process()
return
attack(mob/M as mob, mob/user as mob)
..()
src.add_fingerprint(user)
if ((prob(50) && M.stat < 2))
var/mob/living/carbon/human/H = M
if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
M << "\blue The helmet protects you from being hit hard in the head!"
for(var/mob/O in viewers(M, null))
if(O.client)
O.show_message(text("\red <B>[] blocked a hit from []!</B>", M, user), 1)
return
var/time = rand(20, 60)
if (prob(90))
M.paralysis = max(time, M.paralysis)
else
M.weakened = max(time, M.weakened)
src.force = 35
..()
if(M.stat != 2) M.stat = 1
for(var/mob/O in viewers(M, null))
if(O.client)
O.show_message(text("\red <B>[] has been rifle butted by []!</B>", M, user), 1, "\red You hear someone fall.", 2)
return
/obj/item/weapon/gun/energy/pulse_rifle/attack(mob/M as mob, mob/user as mob)
src.add_fingerprint(user)
var/mob/living/carbon/human/H = M
if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
M << "\blue The helmet protects you from being hit hard in the head!"
for(var/mob/O in viewers(M, null))
if(O.client)
O.show_message(text("\red <B>[] blocked a hit from []!</B>", M, user), 1)
return
else
var/time = rand(20, 60)
if (prob(90))
M.paralysis = max(time, M.paralysis)
else
M.weakened = max(time, M.weakened)
src.force = 35
..()
if(M.stat != 2) M.stat = 1
for(var/mob/O in viewers(M, null))
if(O.client)
O.show_message(text("\red <B>[] has been rifle butted by []!</B>", M, user), 1, "\red You hear someone fall.", 2)
return
// AMMO
@@ -539,10 +539,6 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
if (O.client) O.show_message(text("\red <B>[] has been pistol whipped with the detectives revolver by []!</B>", M, user), 1, "\red You hear someone fall", 2)
return
// ENERGY GUN
/obj/item/weapon/gun/energy/proc/update_icon()
+33
View File
@@ -72,6 +72,39 @@
attack_hand(user as mob)
return
attack_alien(var/mob/living/carbon/alien/user as mob) //So aliums can attack and potentially eat space carp.
if(src.alive)
if (user.a_intent == "help")
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\blue [user] caresses [src.name] with its scythe like arm."), 1)
else
src.health -= rand(15,30)
if(src.aggressive)
src.target = user
src.state = 1
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has slashed [src.name]!</B>", user), 1)
playsound(src.loc, 'slice.ogg', 25, 1, -1)
if(prob(10)) new /obj/decal/cleanable/blood(src.loc)
if (src.health <= 0)
src.death()
else
if (user.a_intent == "grab")
for(var/mob/N in viewers(user, null))
if(N.client)
N.show_message(text("\red <B>[user] is attempting to devour the carp!</B>"), 1)
if(!do_after(user, 50)) return
for(var/mob/N in viewers(user, null))
if(N.client)
N.show_message(text("\red <B>[user] hungrily devours the carp!</B>"), 1)
user.health += rand(10,25)
del(src)
else
user << "\green The creature is already dead."
return
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(src.alive)
switch(W.damtype)
@@ -1,15 +1,5 @@
/*NOTES:
There are several problems with alien powers right now. I am currently trying to fix the dissolve verb so it makes a lot more sense.
Alien spit is ridiculous and needs to be toned down. It homes in on targets when it should probably work
more like a taser shot but with continuous toxin damage to the target if they are hit.
Invisibility works well but 30 seconds is too long. 15 would be good considering it doesn't cost much and makes the alien a lot more
robust (can't be canceled by anything short of thermals or a superpower).
Vent crawl shouldn't transport the alien to the Prison Station or back. The list should also be in some order since right now it's
often difficult to pick the right destination.
Resin wall should also apply to mobs so that aliens can envelope them in resin (effectively paralyze them) to successfully hatch more
aliens. Perhaps it should also prevent the target from suiciding.
All I can think of right now./N
These are being worked on.
*/
/mob/living/carbon/alien/humanoid/verb/invis()
@@ -6,8 +6,8 @@
src.stat = 2
if (!gibbed)
// emote("deathgasp") // Dead -- Skie // Doesn't work due to stat == 2 -- Urist
playsound(src.loc, 'hiss6.ogg', 80, 1, 1)
for(var/mob/O in viewers(src, null))
O.show_message("<B>[src]</B> lets out a waning guttural screech, green blood bubbling from its maw...", 1)
@@ -20,7 +20,7 @@
m_type = 2
if ("deathgasp")
message = "<B>[src]</B> lets out a waning guttural screech, green blood bubbling from its maw..."
m_type = 1
m_type = 2
if("scratch")
if (!src.restrained())
message = "<B>The [src.name]</B> scratches."
@@ -99,6 +99,8 @@
if ((message && src.stat == 0))
if (act == "roar")
playsound(src.loc, 'hiss5.ogg', 40, 1, 1)
if (act == "deathgasp")
playsound(src.loc, 'hiss6.ogg', 80, 1, 1)
if (m_type & 1)
for(var/mob/O in viewers(src, null))
O.show_message(message, m_type)
+2 -1
View File
@@ -11,7 +11,8 @@
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
src.alien_talk(message)
else
playsound(src.loc, "hiss", 25, 1, 1)//So aliens can hiss while they hiss yo/N
if (copytext(message, 1, 2) != "*" && !src.stat)
playsound(src.loc, "hiss", 25, 1, 1)//So aliens can hiss while they hiss yo/N
return ..(message)
else
@@ -285,7 +285,8 @@
if (M.a_intent == "help")
for(var/mob/O in viewers(src, null))
O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1)
if ((O.client && !( O.blinded )))
O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1)
else
if (M.a_intent == "hurt")
if ((prob(95) && src.health > 0))
@@ -294,7 +295,7 @@
O.show_message(text("\red <B>[] has slashed [src.name]!</B>", M), 1)
playsound(src.loc, 'slice.ogg', 25, 1, -1)
var/damage = rand(5, 10)
var/damage = rand(15, 30)
if (prob(40))
damage = rand(20, 40)
if (src.paralysis < 5)