diff --git a/.gitignore b/.gitignore index ce2384c9..355a363b 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/aurora.dme b/aurora.dme index 698cc9dc..217f3cd7 100644 --- a/aurora.dme +++ b/aurora.dme @@ -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" diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index e0c63bd6..762e6902 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.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." diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 0fa8671d..4ad1c547 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -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()]\] Gave [C.name] ([C.ckey]) the shutdown disease") C.attack_log += text("\[[time_stamp()]\] Has been given the shutdown disease by [usr.name] ([usr.ckey])") 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 [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 << "You're blindfolded!" @@ -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 << "You hear a ear piercing shriek and your senses dull!" - 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) ) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 3180648f..83376eea 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -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() diff --git a/code/modules/projectiles/guns/energy/lawgiver.dm b/code/modules/projectiles/guns/energy/lawgiver.dm new file mode 100644 index 00000000..5f9b82a9 --- /dev/null +++ b/code/modules/projectiles/guns/energy/lawgiver.dm @@ -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 << "[src] blows up in your face!" + 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 \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 7deef63e..4a7b3d39 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -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() diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index d1d783da..77378341 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -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 diff --git a/code/modules/projectiles/projectile/force.dm b/code/modules/projectiles/projectile/force.dm index c238a616..573fcf7c 100644 --- a/code/modules/projectiles/projectile/force.dm +++ b/code/modules/projectiles/projectile/force.dm @@ -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 /* diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 1b1ced6a..1fc605b5 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -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" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 27f4dcca..b84d1784 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -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" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 90e61014..20b5e6d5 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -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////////////////// ///////////////////////////////////////// diff --git a/data/investigate/gravity.html b/data/investigate/gravity.html index f36d107e..3696847b 100644 --- a/data/investigate/gravity.html +++ b/data/investigate/gravity.html @@ -1,2 +1,2 @@ -23:18 [0x200a0a0] (92,152,1) || the gravitational generator has regained power.
-23:18 [0x200a0a0] (92,152,1) || the gravitational generator is now charging.
+00:33 [0x20077ab] (92,152,1) || the gravitational generator has regained power.
+00:33 [0x20077ab] (92,152,1) || the gravitational generator is now charging.
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d03c3ad7..e5eaad5d 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ