Fixed some bugs with laser cannons.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1924 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-07-25 05:40:14 +00:00
parent 1a58c15e06
commit 526f57e68f
3 changed files with 32 additions and 31 deletions
+1 -1
View File
@@ -207,7 +207,7 @@
else
view = viewrange-2
for (var/mob/living/carbon/C in range(view,loc))
if (C.stat == 2 || isalien(C) || C.alien_egg_flag || !can_see(src,C,viewrange))
if (C.stat == 2 || isalien(C) || C.alien_egg_flag || !can_see(src,C,viewrange) || istype(C, /mob/living/carbon/metroid))
continue
if(C:stunned || C:paralysis || C:weakened)
target = C
+31 -30
View File
@@ -22,6 +22,7 @@
unacidable = 1 //Just to be sure.
anchored = 1 // I'm not sure if it is a good idea. Bullets sucked to space and curve trajectories near singularity could be awesome. --rastaf0
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT // ONBELT???
mouse_opacity = 0
var
def_zone = ""
//damage_type = PROJECTILE_BULLET
@@ -48,6 +49,10 @@
weakbullet
damage = 15
mobdamage = list(BRUTE = 15, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
New()
..()
effects["weak"] = 5
effectprob["weak"] = 10
suffocationbullet
damage = 65
@@ -57,6 +62,10 @@
damage = 100
mobdamage = list(BRUTE = 50, BURN = 0, TOX = 100, OXY = 15, CLONE = 0)
burstbullet
damage = 20
mobdamage = list(BRUTE = 20, BURN = 0, TOX = 0, OXY = 0, CLONE = 0)
beam
name = "laser"
icon_state = "laser"
@@ -1030,26 +1039,25 @@
return 1
if(power_supply.charge < charge_cost)
return 0
switch (mode)
if(1)
switch(mode)
if(0)
in_chamber = new /obj/item/projectile/beam(src)
if(4)
if(1)
in_chamber = new /obj/item/projectile/heavylaser(src)
power_supply.use(charge_cost)
return 1
attack_self(mob/living/user as mob)
mode++
mode = !mode
switch(mode)
if(1)
user << "\red [src.name] is now set to kill."
fire_sound = 'Laser.ogg'
charge_cost = 50
else
mode = 4
user << "\red [src.name] is now set to slaughter"
if(0)
user << "\red [src.name] is now set to laser cannon."
fire_sound = 'pulse.ogg'
charge_cost = 100
if(1)
user << "\red [src.name] is now set to laser."
fire_sound = 'Laser.ogg'
charge_cost = 50
New()
power_supply = new /obj/item/weapon/cell(src)
power_supply.give(power_supply.maxcharge)
@@ -1066,32 +1074,25 @@
return 1
if(power_supply.charge < charge_cost)
return 0
switch (mode)
if(1)
switch(mode)
if(0)
in_chamber = new /obj/item/projectile/beam(src)
if(4)
if(1)
in_chamber = new /obj/item/projectile/heavylaser(src)
if(5)
in_chamber = new /obj/item/projectile/deathlaser(src)
power_supply.use(charge_cost)
return 1
attack_self(mob/living/user as mob)
mode++
mode = !mode
switch(mode)
if(1)
user << "\red [src.name] is now set to kill."
fire_sound = 'Laser.ogg'
charge_cost = 50
if(4)
user << "\red [src.name] is now set to slaughter."
fire_sound = 'pulse.ogg'
charge_cost = 100
else
mode = 5
user << "\red [src.name] is now set to masacre."
if(0)
user << "\red [src.name] is now set to heavy laser cannon."
fire_sound = 'pulse.ogg'
charge_cost = 150
if(1)
user << "\red [src.name] is now set to laser."
fire_sound = 'Laser.ogg'
charge_cost = 50
New()
power_supply = new /obj/item/weapon/cell(src)
power_supply.give(power_supply.maxcharge)
@@ -1388,7 +1389,7 @@
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
R.cell.use(20)
in_chamber = new /obj/item/projectile/electrode(src)
in_chamber = new /obj/item/projectile/bolt(src)
return 1
return 0
@@ -1438,7 +1439,7 @@
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
R.cell.use(20)
in_chamber = new /obj/item/projectile/electrode(src)
in_chamber = new /obj/item/projectile/largebolt(src)
return 1
return 0