mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-07-19 11:42:21 +01:00
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:
+2
-1
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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) )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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//////////////////
|
||||
/////////////////////////////////////////
|
||||
|
||||
@@ -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>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Reference in New Issue
Block a user