Minor refinement to aliens attacking mechs text.

Changed the ambiance track(s) for engine control. There are now 4 possible tracks.
Admins can now spawn pulse rifles.
Cleaned up some more pulse rifle code.
Monkeys should not properly be able to pick up guns but not fire them outside of monkey mode.
Added sounds to biting.
Larva can no longer roar.
Aliens now have hissing sound effects. Currently unused.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@704 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
noisomehollow@lycos.com
2010-12-26 07:11:13 +00:00
parent 4be78d59bd
commit e7d0657470
18 changed files with 43 additions and 48 deletions
+3 -2
View File
@@ -239,13 +239,14 @@
user << "\red You slash at the armored suit!"
for (var/mob/V in viewers(src))
if(V.client && !(V.blinded))
V.show_message("The [user] slashes at [src.name]'s armor!", 1)
V.show_message("\red The [user] slashes at [src.name]'s armor!", 1)
else
playsound(src.loc, 'slash.ogg', 50, 1, -1)
user << "\green Your claws had no effect!"
src.occupant_message("\blue The [user]'s claws are stopped by the armor.")
for (var/mob/V in viewers(src))
if(V.client && !(V.blinded))
V.show_message("The [user] rebounds off the [src.name] armor!", 1)
V.show_message("\blue The [user] rebounds off the [src.name] armor!", 1)
return
+3 -3
View File
@@ -121,9 +121,9 @@
user << "Your claws aren't capable of such fine manipulation."
return
if(istype(src, /obj/item/weapon/gun)) //Temporary fix until I figure out what's going with monkey/add_blood code./N
user << "Sorry Mr. Monkey, guns aren't for you."
return
// if(istype(src, /obj/item/weapon/gun)) //Temporary fix until I figure out what's going with monkey/add_blood code./N
// user << "Sorry Mr. Monkey, guns aren't for you."
// return
if (istype(src.loc, /obj/item/weapon/storage))
for(var/mob/M in range(1, src.loc))
+23 -36
View File
@@ -45,7 +45,7 @@ TELEPORT GUN
return
if (flag)
return
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
@@ -67,44 +67,31 @@ TELEPORT GUN
user.next_move = world.time + 4
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(70)))
M << "\red The helmet protects you from being hit hard in the head!"
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(50, 170)
var/time = rand(20, 60)
if (prob(90))
M.paralysis = min(time, M.paralysis)
M.paralysis = max(time, M.paralysis)
else
M.weakened = min(time, M.weakened)
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 knocked unconscious!</B>", M), 1, "\red You hear someone fall", 2)
/obj/item/weapon/gun/energy/pulse_rifle/attack(mob/M as mob, mob/user as mob)
src.add_fingerprint(user)
if ((istype(M, /mob/living/carbon/human) && istype(M, /obj/item/clothing/head) && M.flags & 8 && prob(80)))
M << "\blue The helmet protects you from being hit hard in the head!"
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
if (prob(50))
if (M.paralysis < 60)
M.paralysis = 60
else
if (M.weakened < 60)
M.weakened = 60
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
@@ -165,7 +152,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
/obj/item/weapon/gun/revolver/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -310,7 +297,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
/obj/item/weapon/gun/shotgun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if (src.pumped == 0)
@@ -473,7 +460,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if(!detective)
@@ -589,7 +576,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
@@ -666,7 +653,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
/obj/item/weapon/gun/energy/taser_gun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if(flag)
return
if (ismonkey(user) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
user << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -789,7 +776,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
/obj/item/weapon/gun/energy/crossbow/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if(flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
@@ -865,7 +852,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
/obj/item/weapon/gun/energy/teleport_gun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if(flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -980,7 +967,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return
if (flag)
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
+4 -1
View File
@@ -9,6 +9,7 @@
if ("punch") soundin = pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg')
if ("clownstep") soundin = pick('clownstep1.ogg','clownstep2.ogg')
if ("swing_hit") soundin = pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg')
if ("hiss") soundin = pick('hiss1.ogg','hiss2.ogg','hiss3.ogg','hiss4.ogg')
var/sound/S = sound(soundin)
S.wait = 0 //No queue
@@ -35,6 +36,7 @@
if ("punch") soundin = pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg')
if ("clownstep") soundin = pick('clownstep1.ogg','clownstep2.ogg')
if ("swing_hit") soundin = pick('genhit1.ogg', 'genhit2.ogg', 'genhit3.ogg')
if ("hiss") soundin = pick('hiss1.ogg','hiss2.ogg','hiss3.ogg','hiss4.ogg')
var/sound/S = sound(soundin)
S.wait = 0 //No queue
@@ -76,7 +78,8 @@ client/verb/Toggle_Soundscape()
switch(src.name)
if ("Chapel") sound = pick('ambicha1.ogg','ambicha2.ogg','ambicha3.ogg','ambicha4.ogg')
if ("Morgue") sound = pick('ambimo1.ogg','ambimo2.ogg')
if ("Engine Control") sound = pick('ambieng1.ogg')
// if ("Engine Control") sound = pick('ambieng1.ogg') Commenting out in favor of a new, more applicable sound./N
if ("Engine Control") sound = pick('ambisin1.ogg','ambisin2.ogg','ambisin3.ogg','ambisin4.ogg')
if ("Atmospherics") sound = pick('ambiatm1.ogg')
else sound = pick('ambigen1.ogg','ambigen3.ogg','ambigen4.ogg','ambigen5.ogg','ambigen6.ogg','ambigen7.ogg','ambigen8.ogg','ambigen9.ogg','ambigen10.ogg','ambigen11.ogg','ambigen12.ogg','ambigen14.ogg')
@@ -628,6 +628,7 @@ This is all very silly and I will probably remove it in the future. /N
if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
return
if (src.health > 0)
playsound(src.loc, 'bite.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[M.name] has bit [src]!</B>"), 1)
src.bruteloss += rand(1, 3)
@@ -778,6 +779,7 @@ In all, this is a lot like the monkey code. /N
else
if (src.health > 0)
playsound(src.loc, 'bite.ogg', 50, 1, -1)
var/damage = rand(1, 3)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[M.name] has bit []!</B>", src), 1)
@@ -26,10 +26,10 @@
if (!muzzled)
message = "<B>The [src.name]</B> whimpers."
m_type = 2
if("roar")
if (!muzzled)
message = "<B>The [src.name]</B> roars."
m_type = 2
// if("roar")
// if (!muzzled)
// message = "<B>The [src.name]</B> roars." Commenting out since larva shouldn't roar /N
// m_type = 2
if("tail")
message = "<B>The [src.name]</B> waves its tail."
m_type = 1
@@ -90,7 +90,7 @@
message = text("<B>[]</B> collapses!", src)
m_type = 2
if("help")
src << "choke, collapse, dance, drool, gasp, shiver, gnarl, jump, moan, nod, roar, roll, scratch,\nscretch, shake, sign-#, sulk, sway, tail, twitch, whimper"
src << "choke, collapse, dance, drool, gasp, shiver, gnarl, jump, moan, nod, roll, scratch,\nscretch, shake, sign-#, sulk, sway, tail, twitch, whimper"
else
src << text("Invalid Emote: []", act)
if ((message && src.stat == 0))
@@ -344,7 +344,7 @@
if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
return
if (src.health > 0)
playsound(src.loc, 'bite.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[M.name] has bit [src]!</B>"), 1)
var/damage = rand(1, 3)
@@ -472,6 +472,7 @@
else
if (src.health > 0)
playsound(src.loc, 'bite.ogg', 50, 1, -1)
var/damage = rand(1, 3)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red <B>[M.name] has bit []!</B>", src), 1)
@@ -170,6 +170,7 @@
else
if ((M.a_intent == "hurt" && !( istype(src.wear_mask, /obj/item/clothing/mask/muzzle) )))
if ((prob(75) && src.health > 0))
playsound(src.loc, 'bite.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[M.name] has bit [src.name]!</B>", 1)
var/damage = rand(1, 5)