Here are the 3 new projectiles that Superxpdude requested.

Bulletburst, weakbulletburst and weakerbulletburst.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1859 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
firecage@hotmail.com
2011-07-15 19:04:33 +00:00
parent aafab0fbb2
commit 29aeddee41
28 changed files with 403 additions and 1 deletions

View File

@@ -104,6 +104,9 @@
if (flag == PROJECTILE_BULLET)
health -= 10
update()
if (flag == PROJECTILE_BULLETBURST)
health -= 4
update()
else if (flag == PROJECTILE_BOLT)
poisoned(1)
else

View File

@@ -1384,6 +1384,8 @@ It is possible to destroy the net by the occupant or someone else.
switch(flag)
if (PROJECTILE_BULLET)
health -= 35
if (PROJECTILE_BULLETBURST)
health -= 13
if (PROJECTILE_PULSE)
health -= 50
if (PROJECTILE_LASER)

View File

@@ -77,6 +77,8 @@
switch(flag)
if (PROJECTILE_BULLET)
src.health -= 20
if (PROJECTILE_BULLETBURST)
src.health -= 8
//if (PROJECTILE_WEAKBULLET || PROJECTILE_BEANBAG) //Detective's revolver fires marshmallows
// src.health -= 2
if (PROJECTILE_LASER)

View File

@@ -236,6 +236,8 @@ Neutralize All Unidentified Life Signs: []<BR>"},
// handles how much damage each type of projectile deals
if (flag == PROJECTILE_BULLET)
src.health -= 5
else if (flag == PROJECTILE_BULLETBURST)
src.health -= 2
else if (flag == PROJECTILE_TASER)
src.health -= 1
else if(flag == PROJECTILE_PULSE)

View File

@@ -381,8 +381,14 @@
switch(flag)
if (PROJECTILE_BULLET)
src.storedpower -= 10
if (PROJECTILE_BULLETBURST)
src.storedpower -= 4
if (PROJECTILE_WEAKBULLET)
src.storedpower -= 1
if (PROJECTILE_WEAKBULLETBURST)
src.storedpower -= 1
if (PROJECTILE_WEAKERBULLETBURST)
src.storedpower -= 0.5
if (PROJECTILE_LASER)
src.storedpower +=20
if (PROJECTILE_SHOCK)
@@ -511,8 +517,14 @@
switch(flag)
if (PROJECTILE_BULLET)
G.storedpower -= 10
if (PROJECTILE_BULLETBURST)
G.storedpower -= 4
if (PROJECTILE_WEAKBULLET)
G.storedpower -=1
if (PROJECTILE_WEAKBULLETBURST)
G.storedpower -=1
if (PROJECTILE_WEAKERBULLETBURST)
G.storedpower -=0.5
if (PROJECTILE_LASER)
G.storedpower +=20
if (PROJECTILE_SHOCK)

View File

@@ -231,6 +231,8 @@
/obj/machinery/turret/bullet_act(flag)
if (flag == PROJECTILE_BULLET)
src.health -= 17
else if (flag == PROJECTILE_BULLETBURST)
src.health -= 7
else if (flag == PROJECTILE_TASER) //taser
src.health -= 1
else if(flag == PROJECTILE_PULSE)
@@ -444,8 +446,14 @@
damage = 8
if(PROJECTILE_WEAKBULLET)
damage = 8
if(PROJECTILE_WEAKBULLETBURST)
damage = 4
if(PROJECTILE_WEAKERBULLETBURST)
damage = 2
if(PROJECTILE_BULLET)
damage = 10
if(PROJECTILE_BULLETBURST)
damage = 4
if(PROJECTILE_BOLT)
damage = 5
if(PROJECTILE_DART)

View File

@@ -78,8 +78,14 @@
bullet_act(flag, A as obj)
if (flag == PROJECTILE_BULLET)
src.health -= 20
else if (flag == PROJECTILE_BULLETBURST)
src.health -= 8
else if (flag == PROJECTILE_WEAKBULLET)
src.health -= 4
else if (flag == PROJECTILE_WEAKBULLETBURST)
src.health -= 2
else if (flag == PROJECTILE_WEAKERBULLETBURST)
src.health -= 1
else if (flag == PROJECTILE_LASER)
src.health -= 10
else if (flag == PROJECTILE_SHOCK)

View File

@@ -484,8 +484,14 @@
damage = 25
if(PROJECTILE_WEAKBULLET)
damage = 8
if(PROJECTILE_WEAKBULLETBURST)
damage = 4
if(PROJECTILE_WEAKERBULLETBURST)
damage = 2
if(PROJECTILE_BULLET)
damage = 10
if(PROJECTILE_BULLETBURST)
damage = 4
if(PROJECTILE_BOLT)
damage = 5
if(PROJECTILE_DART)

View File

@@ -409,8 +409,14 @@
use_power(500)
if(PROJECTILE_WEAKBULLET)
damage = 8
if(PROJECTILE_WEAKBULLETBURST)
damage = 4
if(PROJECTILE_WEAKERBULLETBURST)
damage = 2
if(PROJECTILE_BULLET)
damage = 10
if(PROJECTILE_BULLETBURST)
damage = 4
if(PROJECTILE_BOLT)
damage = 5
if(PROJECTILE_DART)

View File

@@ -16,6 +16,14 @@
switch(flag)
if (PROJECTILE_BULLET)
health -= 35
if (PROJECTILE_BULLETBURST)
health -= 13
if (PROJECTILE_WEAKBULLET)
health -= 12
if (PROJECTILE_WEAKBULLETBURST)
health -= 6
if (PROJECTILE_WEAKERBULLETBURST)
health -= 3
if (PROJECTILE_PULSE)
health -= 50
if (PROJECTILE_LASER)

View File

@@ -89,8 +89,14 @@
switch(flag)
if (PROJECTILE_BULLET)
health -= 20
if (PROJECTILE_BULLETBURST)
health -= 7
if (PROJECTILE_WEAKBULLET)
health -= 4
if (PROJECTILE_WEAKBULLETBURST)
health -= 2
if (PROJECTILE_WEAKERBULLETBURST)
health -= 1
if (PROJECTILE_LASER)
health -= 10
if (PROJECTILE_SHOCK)

View File

@@ -21,6 +21,8 @@
switch(flag)
if (PROJECTILE_BULLET)
health -= 35
if (PROJECTILE_BULLETBURST)
health -= 13
if (PROJECTILE_PULSE)
health -= 50
if (PROJECTILE_LASER)

View File

@@ -21,6 +21,10 @@
src.health -= 10
src.healthcheck()
return
if (flag == PROJECTILE_BULLETBURST)
src.health -= 4
src.healthcheck()
return
if (flag != PROJECTILE_LASER) //lasers aren't particularly good at breaking glass
src.health -= 2
src.healthcheck()

View File

@@ -7,6 +7,9 @@ var/const/PROJECTILE_WEAKBULLET = 6
var/const/PROJECTILE_TELEGUN = 7
var/const/PROJECTILE_DART = 8
var/const/PROJECTILE_SHOCK = 9
var/const/PROJECTILE_BULLETBURST = 10
var/const/PROJECTILE_WEAKBULLETBURST = 11
var/const/PROJECTILE_WEAKERBULLETBURST = 12
///////////////////////////////////////////////
////////////////AMMO SECTION///////////////////
@@ -33,10 +36,18 @@ var/const/PROJECTILE_SHOCK = 9
bumped = 0
weakbullet
damage_type = PROJECTILE_WEAKBULLET
bulletburst
damage_type = PROJECTILE_BULLETBURST
weakbulletburst
damage_type = PROJECTILE_WEAKBULLETBURST
weakerbulletburst
damage_type = PROJECTILE_WEAKERBULLETBURST
beam
name = "laser"
damage_type = PROJECTILE_LASER

View File

@@ -35,6 +35,10 @@
src.health -= 10
src.healthcheck()
return
if (flag == PROJECTILE_BULLETBURST)
src.health -= 4
src.healthcheck()
return
if (flag != PROJECTILE_LASER) //lasers aren't particularly good at breaking glass
src.health -= 2
src.healthcheck()

View File

@@ -136,12 +136,18 @@
switch(flag)
if(PROJECTILE_BULLET)
src.health -= 15
if(PROJECTILE_BULLETBURST)
src.health -= 6
if(PROJECTILE_TASER)
src.health -= 5
if(PROJECTILE_DART)
src.health -= 10
if(PROJECTILE_WEAKBULLET)
src.health -= 8
if(PROJECTILE_WEAKBULLETBURST)
src.health -= 4
if(PROJECTILE_WEAKERBULLETBURST)
src.health -= 2
if(PROJECTILE_LASER)
src.health -= 10
if(PROJECTILE_SHOCK)

View File

@@ -14,6 +14,22 @@
src.density = 0
del(src)
return
if (flag == PROJECTILE_BULLETBURST)
if(!reinf)
new /obj/item/weapon/shard( src.loc )
//SN src = null
src.density = 0
del(src)
else
health -= 13
if(health <=0)
new /obj/item/weapon/shard( src.loc )
new /obj/item/stack/rods( src.loc )
src.density = 0
del(src)
return
return

View File

@@ -121,6 +121,27 @@
updatehealth()
if (prob(50)&&weakened <= 5)
weakened = 5
if(PROJECTILE_WEAKBULLET)
var/d = 14
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50)&&weakened <= 2)
weakened = 2
if(PROJECTILE_WEAKBULLETBURST)
var/d = 7
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50)&&weakened <= 2)
weakened = 2
if(PROJECTILE_BULLETBURST)
var/d = 18
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50)&&weakened <= 2)
weakened = 2
if(PROJECTILE_TASER)
if (prob(75) && stunned <= 10)
stunned = 10

View File

@@ -99,6 +99,36 @@
if (prob(50))
if(weakened <= 5) weakened = 5
return
if(PROJECTILE_WEAKBULLET)
var/d = 14
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50))
if(weakened <= 2) weakened = 2
return
if(PROJECTILE_WEAKBULLETBURST)
var/d = 7
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50))
if(weakened <= 2) weakened = 2
return
if(PROJECTILE_BULLETBURST)
var/d = 18
if (stat != 2)
bruteloss += d
updatehealth()
if (prob(50))
if(weakened <= 2) weakened = 2
return
if(PROJECTILE_TASER)
if (prob(75) && stunned <= 10)
stunned = 10

View File

@@ -299,6 +299,58 @@
if (prob(50))
if(weakened <= 5) weakened = 5
return
if(PROJECTILE_BULLETBURST)
armor = getarmor(affecting, "bullet")
var/d = 18
if (prob(armor["armor"]))
show_message("\red Your [armor["clothes"]] absorbs the hit!", 4)
return
else
if (prob(armor["armor"]/2))
show_message("\red Your [armor["clothes"]] only softens the hit!", 4)
if (prob(20))
d = d / 2
d = d / 4
/*
else
if (istype(wear_suit, /obj/item/clothing/suit/swat_suit))
if (prob(90))
show_message("\red Your armor absorbs the blow!", 4)
return
else
if (prob(90))
show_message("\red Your armor only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5*/
if (istype(r_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
else
if (istype(l_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
if (stat != 2)
affecting.take_damage(d, 0)
UpdateDamageIcon()
updatehealth()
if (prob(50))
if(weakened <= 2) weakened = 2
return
if(PROJECTILE_TASER)
armor = getarmor(affecting, "taser")
if (prob(armor["armor"]))
@@ -483,6 +535,106 @@
updatehealth()
if(weakened <= 5) weakened = 5
return
if(PROJECTILE_WEAKBULLETBURST)
armor = getarmor(affecting, "bullet")
var/d = 7
if (prob(armor["armor"]))
show_message("\red Your [armor["clothes"]] absorbs the hit!", 4)
return
else
if (prob(armor["armor"]/2))
show_message("\red Your [armor["clothes"]] only softens the hit!", 4)
if (prob(20))
d = d / 2
d = d / 4
/*else
if (istype(wear_suit, /obj/item/clothing/suit/swat_suit))
if (prob(90))
show_message("\red Your armor absorbs the blow!", 4)
return
else
if (prob(90))
show_message("\red Your armor only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5*/
if (istype(r_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
else
if (istype(l_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
if (stat != 2)
affecting.take_damage(d, 0)
UpdateDamageIcon()
updatehealth()
if(weakened <= 2) weakened = 2
return
if(PROJECTILE_WEAKERBULLETBURST)
armor = getarmor(affecting, "bullet")
var/d = 4
if (prob(armor["armor"]))
show_message("\red Your [armor["clothes"]] absorbs the hit!", 4)
return
else
if (prob(armor["armor"]/2))
show_message("\red Your [armor["clothes"]] only softens the hit!", 4)
if (prob(20))
d = d / 2
d = d / 4
/*else
if (istype(wear_suit, /obj/item/clothing/suit/swat_suit))
if (prob(90))
show_message("\red Your armor absorbs the blow!", 4)
return
else
if (prob(90))
show_message("\red Your armor only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5*/
if (istype(r_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
else
if (istype(l_hand, /obj/item/weapon/shield/riot))
if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
if (prob(40))
show_message("\red Your shield only softens the blow!", 4)
if (prob(60))
d = d / 2
d = d / 5
if (stat != 2)
affecting.take_damage(d, 0)
UpdateDamageIcon()
updatehealth()
if(weakened <= 2) weakened = 2
return
return
/mob/living/carbon/human/emp_act(severity)

View File

@@ -156,6 +156,33 @@
if(PROJECTILE_BULLET)
var/d = 1
attacked += 10
if (stat != 2)
bruteloss += d
updatehealth()
return
if(PROJECTILE_BULLETBURST)
var/d = 1
attacked += 10
if (stat != 2)
bruteloss += d
updatehealth()
return
if(PROJECTILE_WEAKBULLETBURST)
var/d = 1
attacked += 10
if (stat != 2)
bruteloss += d
updatehealth()
return
if(PROJECTILE_WEAKERBULLETBURST)
var/d = 0.5
attacked += 10
if (stat != 2)
bruteloss += d

View File

@@ -125,6 +125,12 @@
updatehealth()
if (prob(50))
if(weakened <= 5) weakened = 5
else if (flag == PROJECTILE_BULLETBURST)
if (stat != 2)
take_organ_damage(21, 0)
updatehealth()
if (prob(50))
if(weakened <= 2) weakened = 2
else if (flag == PROJECTILE_TASER)
if (prob(75) && stunned <= 10)
stunned = 10
@@ -170,6 +176,16 @@
take_organ_damage(10, 0)
updatehealth()
if(weakened <= 5) weakened = 5
else if (flag == PROJECTILE_WEAKBULLETBURST)
if (stat != 2)
take_organ_damage(5, 0)
updatehealth()
if(weakened <= 2) weakened = 2
else if (flag == PROJECTILE_WEAKERBULLETBURST)
if (stat != 2)
take_organ_damage(3, 0)
updatehealth()
if(weakened <= 2) weakened = 2
return
/mob/living/carbon/monkey/hand_p(mob/M as mob)

View File

@@ -29,6 +29,26 @@
src.stunned = 10
else
src.weakened = 10
if(PROJECTILE_BULLETBURST)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(18, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
else
src.take_organ_damage(18)
src.updatehealth()
if (prob(80) && src.weakened <= 2)
src.weakened = 2
if(PROJECTILE_TASER)
if (prob(75) && src.stunned <= 10)
src.stunned = 10
else
src.weakened = 10
if(PROJECTILE_DART)
src.weakened += 5
src.toxloss += 10

View File

@@ -269,6 +269,11 @@
bruteloss += 60
updatehealth()
weakened = 10
else if (flag == PROJECTILE_BULLETBURST)
if (stat != 2)
bruteloss += 21
updatehealth()
weakened = 4
else if (flag == PROJECTILE_TASER)
if (prob(75))
stunned = 15

View File

@@ -120,6 +120,11 @@
src.bruteloss += 60
src.updatehealth()
src.weakened = 10
else if (flag == PROJECTILE_BULLETBURST)
if (src.stat != 2)
src.bruteloss += 21
src.updatehealth()
src.weakened = 4
else if (flag == PROJECTILE_TASER)
if (prob(75))
src.stunned = 15

View File

@@ -257,6 +257,11 @@
bruteloss += 60
updatehealth()
return
if(PROJECTILE_BULLETBURST)
if (stat != 2)
bruteloss += 21
updatehealth()
return
/*
if(PROJECTILE_MEDBULLET)
if (stat != 2)
@@ -268,6 +273,16 @@
bruteloss += 15
updatehealth()
return
if(PROJECTILE_WEAKBULLETBURST)
if (stat != 2)
bruteloss += 7
updatehealth()
return
if(PROJECTILE_WEAKERBULLETBURST)
if (stat != 2)
bruteloss += 5
updatehealth()
return
/*
if(PROJECTILE_MPBULLET)
if (stat != 2)

View File

@@ -174,8 +174,14 @@ field_generator power level display
bullet_act(flag)
if (flag == PROJECTILE_BULLET)
src.power -= 50
else if (flag == PROJECTILE_BULLETBURST)
src.power -= 20
else if (flag == PROJECTILE_WEAKBULLET)
src.power -= 25
else if (flag == PROJECTILE_WEAKBULLETBURST)
src.power -= 13
else if (flag == PROJECTILE_WEAKERBULLETBURST)
src.power -= 7
else if (flag == PROJECTILE_LASER)
src.power += 20
else if (flag == PROJECTILE_SHOCK)

View File

@@ -7,6 +7,7 @@ chicagoted - Game Master
neofite - Game Master
uristmcdorf - Game Master
cinless - Game Master
firecage - Game Master
mport2004 - Game Admin