Vamp nerfs and other things.

Diseased touch costs 200 blood now. unlocks at 200.
Many vamp abilities increased in cooldown.
Screech shatters windows in a wider range.  Cost bumped to 90.  Cooldown
doubled.
Vampjaunt cost bumped slightly.
Hypnotize cooldown cut in half.
With the addition of firecode, vamp shadowstep and jaunt now extinguish
your being on fire.  More things that light vamps on fire will be added
soon.  Expecting nerfs from now on to be vamp counters instead of
ability nerfs.

Tweaks burstfire.  Rapid three-shots, and then delay as opposed to rapid
three-fire shots and then more rapid three fire shots.
Added rapidlaser, added to R&D.  Barely higher damage output/time than
normal laser.  I timed it.
Added Lawgiver, added to R&D.  Heavy research reqs.  Must decon a
decloner orplasmapistol to unlock it, so idiots won't be discovering it
as easily as you think.  Lawgiver hi-ex does average 30 damage on
explosion with low chance to KO.  Shot myself and mobs a ton of times.
Unconsciousness is very rare.  Pretty weak but very cool.  Might
actually buff it, undecided.
Adds incendiary rounds.
Nerfs mental focus.  It blasted you by 10-- that's enough to send you
literally offscreen.  Downed to 5.
Nerfed chemsprayer more.  It's now a huge item, w_class 5.  Cannot be
backpacked.  Cannot be bluespace backpacked.  Totally forgot about
defibs.  Will mess with later probably.
This commit is contained in:
Duck-
2014-08-15 01:57:57 -04:00
parent b880c5fa50
commit 9900cc4d40
14 changed files with 174 additions and 29 deletions
+2 -1
View File
@@ -16,7 +16,6 @@ maps/newmedical tgstation2.dmm
*.bak2
maps/tgstation2_medbayrework_final.dmm
Outpost.dmm
aurora.dme
data/investigate/gravity.html
data/investigate/gravity.html
config/admins.txt
@@ -24,3 +23,5 @@ config/admin_ranks.txt
data/investigate/gravity.html
data/investigate/gravity.html
data/investigate/gravity.html
data/investigate/gravity.html
data/investigate/gravity.html
+1
View File
@@ -1222,6 +1222,7 @@
#include "code\modules\projectiles\guns\energy\burst.dm"
#include "code\modules\projectiles\guns\energy\erifles.dm"
#include "code\modules\projectiles\guns\energy\laser.dm"
#include "code\modules\projectiles\guns\energy\lawgiver.dm"
#include "code\modules\projectiles\guns\energy\nuclear.dm"
#include "code\modules\projectiles\guns\energy\pulse.dm"
#include "code\modules\projectiles\guns\energy\special.dm"
+4 -3
View File
@@ -319,8 +319,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(vamp.bloodtotal >= 150)
if(!(VAMP_CLOAK in vamp.powers))
vamp.powers.Add(VAMP_CLOAK)
if(!(VAMP_DISEASE in vamp.powers))
vamp.powers.Add(VAMP_DISEASE)
// TIER 3
if(vamp.bloodtotal >= 200)
@@ -329,6 +328,8 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(!(VAMP_SCREAM in vamp.powers))
vamp.powers.Add(VAMP_SCREAM)
src << "\blue Your rejuvination abilities have improved and will now heal you over time when used."
if(!(VAMP_DISEASE in vamp.powers))
vamp.powers.Add(VAMP_DISEASE)
// TIER 3.5 (/vg/)
if(vamp.bloodtotal >= 250)
@@ -369,7 +370,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
src << "\blue You have gained the Summon Bats ability."
verbs += /client/vampire/proc/vampire_bats // work in progress
if(VAMP_SCREAM)
src << "\blue You have gained the Chriopteran Screech ability which stuns anything with ears in a large radius and shatters glass in the process."
src << "\blue You have gained the Chiropteran Screech ability which stuns anything with ears in a large radius and shatters glass in the process."
verbs += /client/vampire/proc/vampire_screech
if(VAMP_JAUNT)
src << "\blue You have gained the Mist Form ability which allows you to take on the form of mist for a short period and pass over any obstacle in your path."
+18 -18
View File
@@ -113,7 +113,7 @@
// M.current.remove_vampire_blood(20) Moved to remove if it works only.
if(M.current.vampire_power(20, 0))
M.current.verbs -= /client/vampire/proc/vampire_hypnotise
spawn(1800)
spawn(900)
M.current.verbs += /client/vampire/proc/vampire_hypnotise
if(do_mob(M.current, C, 50))
if(C.mind && C.mind.vampire)
@@ -133,12 +133,12 @@
/client/vampire/proc/vampire_disease()
set category = "Abilities"
set name = "Diseased Touch (100)"
set name = "Diseased Touch (200)"
set desc = "Touches your victim with infected blood giving them the Shutdown Syndrome which quickly shutsdown their major organs resulting in a quick painful death."
var/datum/mind/M = usr.mind
if(!M) return
var/mob/living/carbon/C = M.current.vampire_active(100, 0, 1)
var/mob/living/carbon/C = M.current.vampire_active(200, 0, 1)
if(!C) return
if(C==usr)
M.current << "\red You can't do that to yourself"
@@ -179,7 +179,7 @@
usr.attack_log += text("\[[time_stamp()]\] <font color='red'>Gave [C.name] ([C.ckey]) the shutdown disease</font>")
C.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been given the shutdown disease by [usr.name] ([usr.ckey])</font>")
infect_virus2(C,shutdown,0)
M.current.remove_vampire_blood(100)
M.current.remove_vampire_blood(200)
M.current.verbs -= /client/vampire/proc/vampire_disease
spawn(1800) M.current.verbs += /client/vampire/proc/vampire_disease
@@ -193,7 +193,7 @@
M.current.visible_message("\red <b>[M.current]'s eyes emit a blinding flash!")
//M.vampire.bloodusable -= 10
M.current.verbs -= /client/vampire/proc/vampire_glare
spawn(450)
spawn(800)
M.current.verbs += /client/vampire/proc/vampire_glare
if(istype(M.current:glasses, /obj/item/clothing/glasses/sunglasses/blindfold))
M.current << "<span class='warning'>You're blindfolded!</span>"
@@ -225,11 +225,11 @@
*/
/client/vampire/proc/vampire_screech()
set category = "Abilities"
set name = "Chiropteran Screech (30)"
set desc = "An extremely loud shriek that stuns nearby humans in a four-tile radius." //and breaks windows as well ||Or would if duck knew how to code. end orig text.
set name = "Chiropteran Screech (90)"
set desc = "An extremely loud shriek that stuns nearby humans in a four-tile radius, as well as shattering the windows."
var/datum/mind/M = usr.mind
if(!M) return
if(M.current.vampire_power(30, 0))
if(M.current.vampire_power(90, 0))
M.current.visible_message("\red [M.current.name] lets out an ear piercing shriek!", "\red You let out a loud shriek.", "\red You hear a loud painful shriek!")
for(var/mob/living/carbon/C in hearers(4, M.current))
if(C == M.current) continue
@@ -238,17 +238,17 @@
if(!C.isipc())
continue
C << "<span class='warning'><font size='3'><b>You hear a ear piercing shriek and your senses dull!</font></b></span>"
C.Weaken(8)
C.Weaken(5)
C.ear_deaf = 20
C.stuttering = 20
C.Stun(8)
C.Stun(5)
// C.Jitter(150)
for(var/obj/structure/window/W in view(4))
for(var/obj/structure/window/W in view(7))
W.destroy()
playsound(M.current.loc, 'sound/effects/creepyshriek.ogg', 100, 1)
M.current.remove_vampire_blood(30)
M.current.remove_vampire_blood(90)
M.current.verbs -= /client/vampire/proc/vampire_screech
spawn(1800) M.current.verbs += /client/vampire/proc/vampire_screech
spawn(3600) M.current.verbs += /client/vampire/proc/vampire_screech
/client/vampire/proc/vampire_enthrall()
set category = "Abilities"
@@ -387,13 +387,13 @@
/client/vampire/proc/vampire_jaunt()
//AHOY COPY PASTE INCOMING
set category = "Abilities"
set name = "Mist Form (30)"
set name = "Mist Form (45)"
set desc = "You take on the form of mist for a short period of time."
var/jaunt_duration = 50 //in deciseconds
var/datum/mind/M = usr.mind
if(!M) return
if(M.current.vampire_power(30, 0))
if(M.current.vampire_power(45, 0))
if(M.current.buckled) M.current.buckled.unbuckle()
spawn(0)
var/originalloc = get_turf(M.current.loc)
@@ -406,7 +406,7 @@
animation.icon_state = "liquify"
animation.layer = 5
animation.master = holder
//M.current.ExtinguishMob()
M.current.ExtinguishMob()
if(M.current.buckled)
M.current.buckled.unbuckle()
flick("liquify",animation)
@@ -437,7 +437,7 @@
M.current.client.eye = M.current
del(animation)
del(holder)
M.current.remove_vampire_blood(30)
M.current.remove_vampire_blood(45)
M.current.verbs -= /client/vampire/proc/vampire_jaunt
spawn(600) M.current.verbs += /client/vampire/proc/vampire_jaunt
@@ -481,7 +481,7 @@
if(!picked || !isturf(picked))
return
//M.current.ExtinguishMob()
M.current.ExtinguishMob()
if(M.current.buckled)
M.current.buckled.unbuckle()
var/atom/movable/overlay/animation = new /atom/movable/overlay( get_turf(usr) )
+2 -1
View File
@@ -33,7 +33,7 @@
// 1 for one bullet after tarrget moves and aim is lowered
var/fire_delay = 6
var/last_fired = 0
var/fire_cooldown = 0
var/fire_cooldown = 0 //burst fire code
var/wielded = 0
@@ -74,6 +74,7 @@
Fire(A,user,params) //Otherwise, fire normally.
if(fire_cooldown)
sleep(fire_cooldown)
sleep(fire_cooldown*3)
/obj/item/weapon/gun/proc/isHandgun()
@@ -0,0 +1,95 @@
/obj/item/weapon/gun/energy/lawgiver
name = "Lawgiver Mk II"
desc = "A highly advanced firearm for the modern police force. It has multiple voice-activated firing modes."
icon_state = "lawgiver"
item_state = "gun"
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
projectile_type = "/obj/item/projectile/bullet/midbullet2"
origin_tech = "combat=6;magnets=5"
var/ammomode = 0
var/dna //dna-locking the firearm
proc/hear(message, source as mob)
return
/obj/item/weapon/gun/energy/lawgiver/attack_self(mob/user)
if(dna != null)
return
else
src.dna = user.dna.unique_enzymes
user << "\blue You feel your palm heat up as the gun reads your DNA profile."
Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)
if(src.dna != user.dna.unique_enzymes)
user << "\red You hear a soft beep from the gun and 'ID FAIL' flashes across the screen."
playsound(user, 'sound/weapons/smg_empty_alarm.ogg', 40, 1)
user << "<span class='danger'>[src] blows up in your face!</span>"
explosion(get_turf(user), 0, 0, 1, rand(1,2))
user.drop_item()
del(src)
return 0
..()
hear_talk(mob/living/M in range(0,src), msg)
hear(msg)
return
hear(var/msg)
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = ""," " = "")
msg = sanitize_simple(msg, replacechars)
if(findtext(msg,"singleshot") && (src.dna==usr.dna.unique_enzymes) && (src in usr.contents))
ammomode = 0
charge_cost = 50
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
usr << "\red [src.name] is now set to single shot mode."
projectile_type = "/obj/item/projectile/bullet/midbullet2"
fire_delay = 3
projectiles_per_shot = 1
fire_cooldown = 0
recoil = 1
else if(findtext(msg,"burstfire") && (src.dna==usr.dna.unique_enzymes) && (src in usr.contents))
ammomode = 1
charge_cost = 50
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
usr << "\red [src.name] is now set to burst fire mode."
projectile_type = "/obj/item/projectile/bullet/midbullet2"
fire_delay = 2
projectiles_per_shot = 3
fire_cooldown = 2
recoil = 1
else if(findtext(msg,"highex") && (src.dna==usr.dna.unique_enzymes) && (src in usr.contents))
ammomode = 2
charge_cost = 200
fire_sound = 'sound/effects/Explosion1.ogg'
usr << "\red [src.name] is now set to high explosive mode."
projectile_type = "/obj/item/projectile/bullet/gyro/law"
fire_delay = 6
projectiles_per_shot = 1
fire_cooldown = 0
recoil = 3
else if(findtext(msg,"stun") && (src.dna==usr.dna.unique_enzymes) && (src in usr.contents))
ammomode = 3
charge_cost = 50
fire_sound = 'sound/weapons/Taser.ogg'
usr << "\red [src.name] is now set to stun mode."
projectile_type = "/obj/item/projectile/energy/electrode/high"
fire_delay = 4
projectiles_per_shot = 1
fire_cooldown = 0
recoil = 0
else if(findtext(msg,"hotshot") && (src.dna==usr.dna.unique_enzymes) && (src in usr.contents))
ammomode = 4
charge_cost = 200
fire_sound = 'sound/weapons/lasercannonfire.ogg'
usr << "\red [src.name] is now set to incendiary mode."
projectile_type = "/obj/item/projectile/bullet/incendiary/shell"
fire_delay = 6
projectiles_per_shot = 1
fire_cooldown = 0
recoil = 1
else
return
@@ -23,7 +23,7 @@
else
loc << "\red [src.name] is now set to fire in bursts."
projectiles_per_shot = 3
fire_cooldown = 2
fire_cooldown = 1
update_icon()
@@ -34,6 +34,18 @@
/obj/item/projectile/bullet/midbullet2
damage = 25
/obj/item/projectile/bullet/incendiary
icon_state= "fireball"
/obj/item/projectile/bullet/incendiary/on_hit(var/atom/target, var/blocked = 0)
if(istype(target, /mob/living/carbon))
var/mob/living/carbon/M = target
M.adjust_fire_stacks(1)
M.IgniteMob()
/obj/item/projectile/bullet/incendiary/shell
damage = 20
/obj/item/projectile/bullet/suffocationbullet//How does this even work?
name = "co bullet"
damage = 20
+1 -1
View File
@@ -13,7 +13,7 @@
var/obj/T = target
var/throwdir = get_dir(firer,target)
T.throw_at(get_edge_target_turf(target, throwdir),10,10)
T.throw_at(get_edge_target_turf(target, throwdir),5,5)
return 1
/*
@@ -24,6 +24,21 @@
explosion(target, -1, 0, 2)
return 1
/obj/item/projectile/bullet/gyro/law
name ="high-ex round"
icon_state= "bolter"
damage = 5
flag = "bullet"
/obj/item/projectile/bullet/gyro/law/on_hit(var/atom/target, var/blocked = 0)
explosion(target, -1, 0, 2)
sleep(0)
var/obj/T = target
var/throwdir = get_dir(firer,target)
T.throw_at(get_edge_target_turf(target, throwdir),3,3)
return 1
/obj/item/projectile/temp
name = "freeze beam"
icon_state = "ice_2"
@@ -180,7 +180,7 @@
icon_state = "chemsprayer"
item_state = "chemsprayer"
throwforce = 3
w_class = 3.0
w_class = 5.0
possible_transfer_amounts = null
volume = 600
origin_tech = "combat=3;materials=3;engineering=3"
+20 -1
View File
@@ -1554,7 +1554,7 @@ datum/design/largecrossbow
build_path = "/obj/item/weapon/gun/energy/crossbow/largecrossbow"
datum/design/temp_gun
name = "Temperature Gun"
name = "Freeze Ray"
desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want
id = "temp_gun"
req_tech = list("combat" = 3, "materials" = 4, "powerstorage" = 3, "magnets" = 2)
@@ -1592,6 +1592,16 @@ datum/design/smg
build_path = "/obj/item/weapon/gun/projectile/automatic"
locked = 1
datum/design/rapidlaser
name = "Rapid-fire Laser"
desc = "A fast-firing laser that shoots bursts of weaker beams."
id = "smg"
req_tech = list("combat" = 4, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$uranium" = 1000)
build_path = "/obj/item/weapon/gun/energy/automatic/rapidlaser"
locked = 1
datum/design/ammo_9mm
name = "Ammunition Box (9mm)"
desc = "A box of prototype 9mm ammunition."
@@ -1618,6 +1628,15 @@ datum/design/plasmapistol
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000)
build_path = "/obj/item/weapon/gun/energy/toxgun"
datum/design/lawgiver
name = "Lawgiver Mk II"
desc = "A highly advanced firearm for the modern police force. It has multiple voice-activated firing modes."
id = "lawgiver"
req_tech = list("combat" = 6, "plasmatech" = 4, "bluespace" = 5, "materials" = 7)
build_type = PROTOLATHE
materials = list("$metal" = 6000, "$glass" = 1000, "$uranium" = 1000, "$plasma" = 1000, "$diamond" = 3000)
build_path = "/obj/item/weapon/gun/energy/lawgiver"
/////////////////////////////////////////
/////////////////Mining//////////////////
/////////////////////////////////////////
+2 -2
View File
@@ -1,2 +1,2 @@
<small>23:18 [0x200a0a0] (92,152,1)</small> || the gravitational generator has regained power.<br>
<small>23:18 [0x200a0a0] (92,152,1)</small> || the gravitational generator is now charging.<br>
<small>00:33 [0x20077ab] (92,152,1)</small> || the gravitational generator has regained power.<br>
<small>00:33 [0x20077ab] (92,152,1)</small> || the gravitational generator is now charging.<br>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB