tgstation / tgstation

The /tg/station branch of SS13.
https://www.tgstation13.org/
GNU Affero General Public License v3.0
1.72k stars 4.74k forks source link

Laser Tag turrets #2530

Closed Niknakflak closed 10 years ago

Niknakflak commented 10 years ago

Revision: 2014-01-28 6908a7194b207a0421dbe2886bfd57beba8b6915

Server: Basil

Problem Description: This has been a bug for as long as I can remember. I remember reading somewhere you can make laser tag turrets, maybe it was the wiki im not sure, but whatever the case, still a bug and it's bothered me for so long. When you build a turret you can add guns to it such as an E-gun or laser gun to make it shoot lasers or stuns or maybe that's not how they work, but whatever. You can also add a laser tag gun to the turret during construction, and this brings up a problem. It shoots electrodes

What did you expect to happen? The turret that was built with a laser tag guns will shoot laser tag lasers, not electrodes.

What happened instead? It shot electrodes that stun, which is LAME during a laser tag war.

Why is this bad/What are the consequences? Ruins a fun game of laser tag with laser tag turrets!

Steps to reproduce the problem:

1.Begin building a turret

  1. When the step to add a gun during turret construction has been reached, add a laser tag gun.
  2. Finish building the turret.
  3. It will shoot electrodes which stun.

Possibly related stuff: I'm not sure if the bug is that the turrets don't shoot laser tag lasers, or if laser tag guns aren't supposed to be used in turret construction at all, one way or another, it's a bug.

Anything else? Nope

Boggart commented 10 years ago

Looking in the code there is stuff to do with actually making laser-tag turrets, including being accessible only for the matching team and targeting only the other team. The lasers it should be firing stun anyone in a lasertag vest, even though they are team colored.

Edit: It's not getting the projectile set right, I think it's because of how it's setup is handled. The var that determines projectiles during new() is set after it's already run so you just get the default projectile and behavior.

Edit 2: Working on a fix, it'll have to wait until morning though.

Niknakflak commented 10 years ago

Updates?

Boggart commented 10 years ago

Took longer than I thought, the other way I was trying to fix it wasn't working.