Modified miscellaneous chem recipes.

Changed up some critter code a bit, fixing some oddities and inconsistencies.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2215 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-09-18 01:36:22 +00:00
parent 28d717f6cd
commit fe39beda72
2 changed files with 25 additions and 10 deletions

View File

@@ -608,7 +608,7 @@ datum
name = "Metroid Teleport"
id = "m_tele"
result = null
required_reagents = list("plasma" = 1, "acid" = 1)
required_reagents = list("plasma" = 1, "pacid" = 2, "mutagen" = 3)
result_amount = 1
required_container = /obj/item/metroid_core
required_other = 4
@@ -638,8 +638,9 @@ datum
var/y_distance = TO.y - FROM.y
var/x_distance = TO.x - FROM.x
for (var/atom/movable/A in range(3, FROM )) // iterate thru list of mobs in the area
if(A == chosen) continue // don't teleport the actual beacon that's just stupid as fukkkkk
for (var/atom/movable/A in range(2, FROM )) // iterate thru list of mobs in the area
if(istype(A, /obj/item/device/radio/beacon)) continue // don't teleport beacons because that's just insanely stupid
if(A.anchored) continue // don't teleport anchored things (computers, tables, windows, grilles, etc) because this causes problems!
var/turf/newloc = locate(A.x + x_distance, A.y + y_distance, TO.z) // calculate the new place
if(!A.Move(newloc)) // if the atom, for some reason, can't move, FORCE them to move! :) We try Move() first to invoke any movement-related checks the atom needs to perform after moving
@@ -663,6 +664,8 @@ datum
metroidchloral
name = "Metroid Chloral"
id = "m_bunch"

View File

@@ -21,22 +21,34 @@ Contains the procs that control attacking critters
if (!src.alive) ..()
if (user.a_intent == "hurt")
TakeDamage(rand(1,2) * brutevuln)
if(istype(user, /mob/living/carbon/human))
for(var/mob/O in viewers(src, null))
O.show_message("\red <b>[user]</b> punches [src]!", 1)
O.show_message("\red <B>[user] has punched [src]!</B>", 1)
playsound(src.loc, pick('punch1.ogg','punch2.ogg','punch3.ogg','punch4.ogg'), 100, 1)
else if(istype(user, /mob/living/carbon/alien/humanoid))
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has slashed at [src]!</B>", 1)
playsound(src.loc, 'slice.ogg', 25, 1, -1)
else
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[user] has bit [src]!</B>", 1)
if(src.defensive) Target_Attacker(user)
else
for(var/mob/O in viewers(src, null))
O.show_message("\red <b>[user]</b> touches [src]!", 1)
O.show_message("\blue [user] touches [src]!", 1)
Target_Attacker(var/target)
if(!target) return
src.target = target
src.oldtarget_name = target:name
if(task != "chasing")
if(task != "chasing" || task != "attacking")
for(var/mob/O in viewers(src, null))
O.show_message("\red <b>[src]</b> [src.angertext] [target:name]!", 1)
O.show_message("\red <b>[src]</b> [src.angertext] at [target:name]!", 1)
src.task = "chasing"
return