secgun, radfix, etc

secgun-- three types of rounds.  lethal, lessthanlethal, flash.  lethal
is midbullet2.  ltl is weakbullet.  flash is 5 brute and does not stun,
but it makes people who get hit by it and people within two tiles of the
tile hit get eyeflashed.  the eyeflash is minor unless you score a
direct hit, but still disorienting i guess.

radiation fix: you once again pass out when you get completely
irradiated.  the radiation burns damage and cloneloss that very rarely
happens with extremely heavy radiation poisoning was given a significant
buff.  as in you'll actually notice it now.  you'll notice it a lot.

made it so vamps don't have to breathe.  intend to do some fixes.
intend to maybe give vamps a maybe 'pretend to be alive' verb that turns
their heart on and off.  maybe.  or maybe they'll just lose their
heartbeat. nobreathing is a first step maybe

mutagen fix.  no more telekinetic pink braces.

bumped accuracy up a bit.
This commit is contained in:
Duck-
2015-03-29 14:59:44 -04:00
parent bac5f3e6c0
commit b4f00eeae8
9 changed files with 103 additions and 13 deletions
+15 -7
View File
@@ -309,9 +309,9 @@
if (radiation > 50)
damage = 1
radiation -= 1 * RADIATION_SPEED_COEFFICIENT
if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT))
radiation -= 5 * RADIATION_SPEED_COEFFICIENT
src << "<span class='warning'>You feel weak.</span>"
if(prob(5)) //&& prob(100 * RADIATION_SPEED_COEFFICIENT)) //who did this double percentage thing
radiation -= 5 * RADIATION_SPEED_COEFFICIENT //do you understand
src << "<span class='warning'>You feel weak.</span>" //5% *10% is never happens ever %. it is worthless.
Weaken(3)
if(!lying)
emote("collapse")
@@ -325,13 +325,18 @@
if (radiation > 75)
radiation -= 1 * RADIATION_SPEED_COEFFICIENT
damage = 3
if(prob(5))
take_overall_damage(0, 5 * RADIATION_SPEED_COEFFICIENT, used_weapon = "Radiation Burns")
if(prob(1))
if(prob(3)) //originally 5% chance to take .5 burn. now 3% chance to take 5 burn.
take_overall_damage(0, 5, used_weapon = "Radiation Burns") // formerly 5 * RADIATION_SPEED_COEFFICIENT
if(prob(2)) //originally 1% chance to take .5 cloneloss. now 2% chance to take 5 cloneloss.
src << "<span class='warning'>You feel strange!</span>"
adjustCloneLoss(5 * RADIATION_SPEED_COEFFICIENT)
adjustCloneLoss(5) // * RADIATION_SPEED_COEFFICIENT //a 1% chance to take 5 cloneloss * .1 for .5 really. no thanks
emote("gasp")
if (radiation > 98 && paralysis < 2) //clamp value + spamprotect
Paralyse(10) //it used to be *collapse spam. this is quiet and spamless.
src << "\red You black out!"
make_jittery(250)
if(damage)
adjustToxLoss(damage * RADIATION_SPEED_COEFFICIENT)
updatehealth()
@@ -339,10 +344,13 @@
var/datum/organ/external/O = pick(organs)
if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage)
proc/breathe()
if(reagents.has_reagent("lexorin")) return
if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return
if(species && (species.flags & NO_BREATHE || species.flags & IS_SYNTHETIC)) return
if(mind && mind.vampire) return
var/datum/gas_mixture/environment = loc.return_air()
var/datum/gas_mixture/breath
+1 -1
View File
@@ -112,7 +112,7 @@
var/miss_chance = 15
if (O.throw_source)
var/distance = get_dist(O.throw_source, loc)
miss_chance = min(15*(distance-2), 0)
miss_chance = min(15*(distance-5), 0)
if (prob(miss_chance))
visible_message("\blue \The [O] misses [src] narrowly!")
@@ -34,6 +34,27 @@
/obj/item/ammo_magazine/c45r/empty
max_ammo = 0
/obj/item/ammo_magazine/c45s
name = "magazine (.45)"
icon_state = "45"
ammo_type = "/obj/item/ammo_casing/c45s"
max_ammo = 7
multiple_sprites = 1
/obj/item/ammo_magazine/c45s/nonlethal
name = "magazine (.45)"
icon_state = "45"
ammo_type = "/obj/item/ammo_casing/c45s/nonlethal"
max_ammo = 7
multiple_sprites = 1
/obj/item/ammo_magazine/c45s/flash
name = "magazine (.45) FLSH"
icon_state = "45"
ammo_type = "/obj/item/ammo_casing/c45s/flash"
max_ammo = 7
multiple_sprites = 1
/obj/item/ammo_magazine/a418
name = "ammo box (.418)"
icon_state = "418"
@@ -53,6 +53,21 @@
caliber = ".45"
projectile_type = "/obj/item/projectile/bullet/weakbullet/rubber"
/obj/item/ammo_casing/c45s
desc = "A .45 LTL round casing."
caliber = ".45"
projectile_type = "/obj/item/projectile/bullet/weakbullet/rubber"
/obj/item/ammo_casing/c45s/flash
desc = "A .45 FLSH round casing."
caliber = ".45"
projectile_type = "/obj/item/projectile/bullet/weakbullet/flash"
/obj/item/ammo_casing/c45s/lethal
desc = "A .45 LTHL round casing."
caliber = ".45"
projectile_type = "/obj/item/projectile/bullet/midbullet2"
/obj/item/ammo_casing/a12mm
desc = "A 12mm bullet casing."
caliber = "12mm"
@@ -97,6 +97,15 @@
user << "<span class='notice'>The Magazine falls out and clatters on the floor!</span>"
return
/obj/item/weapon/gun/projectile/detective/secgun
desc = "a sec gun that shoots big sec bullets for taking down big sec criminals. more like taking dead"
name = "\improper sec gun"
caliber = ".45"
icon_state = "secgun"
max_shells = 7
ammo_type = "/obj/item/ammo_casing/c45s"
load_method = 2
/obj/item/weapon/gun/projectile/mateba
name = "mateba"
+1 -1
View File
@@ -87,7 +87,7 @@
return 0// nope.avi
var/distance = get_dist(starting,loc)
var/miss_modifier = -60
var/miss_modifier = -75
if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often.
var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim
+37 -1
View File
@@ -87,4 +87,40 @@
/obj/item/projectile/bullet/chameleon
damage = 1 // stop trying to murderbone with a fake gun dumbass!!!
embed = 0 // nope
embed = 0 // nope
/obj/item/projectile/bullet/weakbullet/flash
name = "flash round"
damage = 5
agony = 0
/obj/item/projectile/bullet/weakbullet/flash/on_hit(var/atom/target, var/blocked = 0)
playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1)
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(!H.eyecheck() > 0)
if(!H.blinded)
flick("e_flash", H:flash)
H << "\red The flash round blinds you!"
sleep (10)
flick("e_flash", H:flash)
sleep (10)
flick("e_flash", H:flash)
H << "\red nooooooo"
for(var/mob/living/carbon/human/M in oviewers(2, target))
if(!M.eyecheck() > 0)
if(!M.blinded)
flick("flash", M:flash)
M << "\red The flash round blinds you!"
/* sleep (5)
flick("e_flash", M:flash)
sleep (8)
flick("e_flash", M:flash)
sleep (10)
flick("e_flash", M:flash)
sleep (15)
flick("e_flash", M:flash)
sleep (20)
flick("e_flash", M:flash)
M << "\red nooooooo!"*/
+4 -3
View File
@@ -1662,9 +1662,10 @@ datum
color = "#13BC5E" // rgb: 19, 188, 94
toxpwr = 0
reaction_mob(var/mob/living/carbon/M, var/method=TOUCH, var/volume)
reaction_mob(var/mob/living/carbon/M, var/method=TOUCH, var/volume, var/alien)
if(!..()) return
if(!istype(M) || !M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
if(alien && alien == IS_SYNTHETIC) return
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
randmuti(M)
@@ -2065,7 +2066,7 @@ datum
description = "A very corrosive mineral acid with the molecular formula H2SO4."
reagent_state = LIQUID
color = "#DB5008" // rgb: 219, 80, 8
toxpwr = 1
toxpwr = 2
var/meltprob = 10
on_mob_life(var/mob/living/M as mob)
@@ -2150,7 +2151,7 @@ datum
description = "Polytrinic acid is a an extremely corrosive chemical substance."
reagent_state = LIQUID
color = "#8E18A9" // rgb: 142, 24, 169
toxpwr = 2
toxpwr = 3
meltprob = 30
toxin/philodexphid