ID:169358
 
1) How would i code a certain verb that, when use, shoots a projectile in the direction the user is tandng(i kow how to do this), and if it hits a target, damage the target(know how to do this), as well as making him "deaf".(dont know how to do this) When i say "deaf" i mean the target cant see any messages appear in the textbox for a short time. after a while however, the mob begins seeing garbled messages in the textbox, then returns to normal. If he dies, his deafness is instantly cured. Please just tell me what i need to do this, not exactly how to do it. i wanna figure it out myself.

2) How would i set a var that makes it so a mob cannot see any other mobs on the screen? Again, please just tell me what i need to do this, not how to do it.

--Reinhartstar
For the first, you will need to add some sort of flag or state that you set on the mob indicating that they are deaf. Then in your text outputs, you will have to check and exclude any mobs flagged deaf (or garble it, etc.).

For blindness see the sight var, specifically:
mob.sight |= BLIND     // turn on the blind bit
mob.sight &= ~BLIND // turn off the blind bit
For the shooting use Spuzzum's s_missile. For the hitting use Bump() or Bumped()(research Bumped() on forums). For deafness, edit your say code first to let deaf people never hear anything. Then to get the distorted thing, edit the deaf code using copytext(). For the dieing, simply change the deaf variable.
I don't know about the blindness, (maybe you could set the player's view to zero when they're blinded or something) but the deafness is simple enough. Just add a deaf var to the mobs, and when someone speaks, instead of using world << "[msg]" use a loop, like:
mob/var/deaf //boolean deaf var
mob/verb/wsay(msg as text)
for(var/mob/M in world)
if(M.deaf) continue
M << "[src]: [msg]"

That's how I'd do it at least...
In response to Fartmonger
He wanted it so that the messages the deaf person gets progressively become more understandable not completely unreadable.