Revert "12/21 modernizations from TG live"

This commit is contained in:
LetterJay
2016-12-22 22:35:44 -06:00
committed by GitHub
parent cf59ac1c3d
commit ae40d4134e
2215 changed files with 86928 additions and 707332 deletions
+96 -46
View File
@@ -4,16 +4,13 @@
var/throwforce_on = 20
var/icon_state_on = "axe1"
var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
w_class = WEIGHT_CLASS_SMALL
var/w_class_on = WEIGHT_CLASS_BULKY
w_class = 2
var/w_class_on = 4
heat = 3500
obj_integrity = 200
max_integrity = 200
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 30)
resistance_flags = FIRE_PROOF
/obj/item/weapon/melee/energy/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku!</span>")
user.visible_message(pick("<span class='suicide'>[user] is slitting \his stomach open with [src]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='suicide'>[user] is falling on [src]! It looks like \he's trying to commit suicide.</span>"))
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/add_blood(list/blood_dna)
@@ -33,8 +30,8 @@
hitsound = 'sound/weapons/bladeslice.ogg'
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL
w_class_on = WEIGHT_CLASS_HUGE
w_class = 3
w_class_on = 5
flags = CONDUCT
armour_penetration = 100
origin_tech = "combat=4;magnets=3"
@@ -42,7 +39,7 @@
attack_verb_on = list()
/obj/item/weapon/melee/energy/axe/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.visible_message("<span class='suicide'>[user] swings the [src.name] towards \his head! It looks like \he's trying to commit suicide.</span>")
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/sword
@@ -66,16 +63,6 @@
if(item_color == null)
item_color = pick("red", "blue", "green", "purple")
/obj/item/weapon/melee/energy/sword/Destroy()
STOP_PROCESSING(SSobj, src)
. = ..()
/obj/item/weapon/melee/energy/sword/process()
if(active)
open_flame()
else
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance)
if(active)
return ..()
@@ -84,7 +71,7 @@
/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user)
if(user.disabilities & CLUMSY && prob(50))
user << "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>"
user.take_bodypart_damage(5,5)
user.take_organ_damage(5,5)
active = !active
if (active)
force = force_on
@@ -100,7 +87,6 @@
w_class = w_class_on
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
user << "<span class='notice'>[src] is now active.</span>"
START_PROCESSING(SSobj, src)
else
force = initial(force)
throwforce = initial(throwforce)
@@ -112,26 +98,11 @@
w_class = initial(w_class)
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
user << "<span class='notice'>[src] can now be concealed.</span>"
STOP_PROCESSING(SSobj, src)
add_fingerprint(user)
/obj/item/weapon/melee/energy/is_hot()
return active * heat
/obj/item/weapon/melee/energy/ignition_effect(atom/A, mob/user)
if(!active)
return ""
var/in_mouth = ""
if(iscarbon(user))
var/mob/living/carbon/C = user
if(C.wear_mask == src)
in_mouth = ", barely missing their nose"
. = "<span class='warning'>[user] swings their \
[src][in_mouth]. They light [A] in the process.</span>"
playsound(loc, hitsound, get_clamped_volume(), 1, -1)
add_fingerprint(user)
/obj/item/weapon/melee/energy/sword/cyborg
var/hitcost = 50
@@ -157,7 +128,7 @@
icon_state_on = "esaw_1"
hitcost = 75 //Costs more than a standard cyborg esword
item_color = null
w_class = WEIGHT_CLASS_NORMAL
w_class = 3
sharpness = IS_SHARP
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
@@ -205,12 +176,33 @@
if(active)
icon_state = "swordrainbow"
user.update_inv_hands()
// Updating overlays, copied from welder code.
// I tried calling attack_self twice, which looked cool, except it somehow didn't update the overlays!!
if(user.r_hand == src)
user.update_inv_r_hand(0)
else if(user.l_hand == src)
user.update_inv_l_hand(0)
else
user << "<span class='warning'>It's already fabulous!</span>"
else
return ..()
/obj/item/weapon/twohanded/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
switch(alert(user, "You feel like the sword might be a bit more dangerous to yourself than to others if you do this.", "Combine?", "Proceed", "Abort"))
if("Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
return
user << "<span class='notice'>You attach the energy sword to the double \
bladed energy sword, making a single triple-bladed weapon! \
You're a genius!</span>"
var/obj/item/weapon/trisword/newSaber = new(user.loc)
user.unEquip(W)
user.unEquip(src)
qdel(W)
qdel(src)
user.put_in_hands(newSaber)
return
/obj/item/weapon/melee/energy/sword/pirate
name = "energy cutlass"
desc = "Arrrr matey."
@@ -230,9 +222,8 @@
throwforce = 1//Throwing or dropping the item deletes it.
throw_speed = 3
throw_range = 1
w_class = WEIGHT_CLASS_BULKY//So you can't hide it in your pocket or some such.
w_class = 4//So you can't hide it in your pocket or some such.
var/datum/effect_system/spark_spread/spark_system
sharpness = IS_SHARP
//Most of the other special functions are handled in their own files. aka special snowflake code so kewl
/obj/item/weapon/melee/energy/blade/New()
@@ -242,12 +233,71 @@
/obj/item/weapon/melee/energy/blade/dropped()
..()
qdel(src)
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
return
/obj/item/weapon/melee/energy/blade/hardlight
name = "hardlight blade"
desc = "An extremely sharp blade made out of hard light. Packs quite a punch."
icon_state = "lightblade"
item_state = "lightblade"
/* Triple Esword! [joke weapon] */
/obj/item/weapon/trisword
name = "triple-bladed energy sword"
desc = "Wow, an energy sword with THREE blades! This must be a REALLY good weapon."
force = 3
throwforce = 5
w_class = 2
icon_state = "trisaber_off"
item_state = "sword0"
var/progress = 0
var/on = 0
/obj/item/weapon/trisword/attack_self(mob/living/carbon/user)
if(on || progress > 5)
return
if(progress == 0)
user << "<span class='notice'>You extend the... Hey, wait a second, how do you turn this thing on?</span>"
progress = 1
return
if(progress == 1)
user << "<span class='notice'>No, seriously, what the fuck? Does this thing even have a button on it?</span>"
progress = 2
return
if(progress == 2)
user << "<span class='danger'>Okay, you're getting sick of this. You mash random panels on [src], trying to find a way to activate it.</span>"
progress = 3
return
if(progress == 3)
user << "<span class='danger'>God dammit, how the fuck do you turn this shit on?</span>"
progress = 4
return
if(progress == 4)
user << "<span class='notice'>You find what feels like a button on [src]! Now you just need to press it.</span>"
progress = 5
return
if(progress == 5)
user << "<span class='userdanger'>The third blade on [src] extends straight into your gut! God fucking dammit.</span>"
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
on = 1
icon_state = "trisaber"
if(!remove_item_from_storage(user))
user.unEquip(src)
user.adjustBruteLoss(110)
/obj/item/weapon/trisword/dropped()
..()
if(!on)
progress = 0
/obj/item/weapon/trisword/attack_hand(mob/living/carbon/user)
if(on)
user << "<span class='userdanger'>You try to pick up [src], but accidentally grab one of the blades, and quickly drop the whole thing out of pain.</span>"
user.adjustBruteLoss(15)
playsound(user, 'sound/weapons/blade1.ogg', 35, 1)
else
..()
/obj/item/weapon/trisword/attack_tk(mob/living/carbon/user)
user << "<span class='danger'>You try to comprehend \the [src].</span>"
user << "<span class='userdanger'>Your head hurts.</span>"
user.adjustBrainLoss(50)
user.confused += 15
+25 -86
View File
@@ -1,14 +1,6 @@
/obj/item/weapon/melee
needs_permit = 1
/obj/item/weapon/melee/proc/check_martial_counter(mob/living/carbon/human/target, mob/living/carbon/human/user)
if(target.check_block())
target.visible_message("<span class='danger'>[target.name] blocks [src] and twists [user]'s arm behind their back!</span>",
"<span class='userdanger'>You block the attack!</span>")
user.Stun(2)
return TRUE
/obj/item/weapon/melee/chainofcommand
name = "chain of command"
desc = "A tool used by great men to placate the frothing masses."
@@ -18,50 +10,17 @@
slot_flags = SLOT_BELT
force = 10
throwforce = 7
w_class = WEIGHT_CLASS_NORMAL
w_class = 3
origin_tech = "combat=5"
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
hitsound = 'sound/weapons/chainhit.ogg'
hitsound = 'sound/weapons/slash.ogg' //pls replace
materials = list(MAT_METAL = 1000)
/obj/item/weapon/melee/chainofcommand/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (OXYLOSS)
user.visible_message("<span class='suicide'>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
return (OXYLOSS)
/obj/item/weapon/melee/synthetic_arm_blade
name = "synthetic arm blade"
desc = "A grotesque blade that on closer inspection seems made of synthentic flesh, it still feels like it would hurt very badly as a weapon."
icon = 'icons/obj/weapons.dmi'
icon_state = "arm_blade"
item_state = "arm_blade"
origin_tech = "combat=5,biotech=5"
w_class = WEIGHT_CLASS_HUGE
force = 15
throwforce = 10
sharpness = IS_SHARP
/obj/item/weapon/melee/sabre
name = "officer's sabre"
desc = "An elegant weapon, its monomolecular edge is capable of cutting through flesh and bone with ease."
icon_state = "sabre"
item_state = "sabre"
flags = CONDUCT
unique_rename = 1
force = 15
throwforce = 10
w_class = WEIGHT_CLASS_BULKY
block_chance = 50
armour_penetration = 75
sharpness = IS_SHARP
origin_tech = "combat=5"
attack_verb = list("slashed", "cut")
hitsound = 'sound/weapons/rapierhit.ogg'
materials = list(MAT_METAL = 1000)
/obj/item/weapon/melee/sabre/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type)
if(attack_type == PROJECTILE_ATTACK)
final_block_chance = 0 //Don't bring a sword to a gunfight
return ..()
/obj/item/weapon/melee/classic_baton
name = "police baton"
@@ -71,7 +30,7 @@
item_state = "classic_baton"
slot_flags = SLOT_BELT
force = 12 //9 hit crit
w_class = WEIGHT_CLASS_NORMAL
w_class = 3
var/cooldown = 0
var/on = 1
@@ -87,17 +46,17 @@
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, "head")
else
user.take_bodypart_damage(2*force)
user.take_organ_damage(2*force)
return
if(iscyborg(target))
if(isrobot(target))
..()
return
if(!isliving(target))
return
if (user.a_intent == INTENT_HARM)
if (user.a_intent == "harm")
if(!..())
return
if(!iscyborg(target))
if(!isrobot(target))
return
else
if(cooldown <= world.time)
@@ -105,14 +64,12 @@
var/mob/living/carbon/human/H = target
if (H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK))
return
if(check_martial_counter(H, user))
return
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
target.Weaken(3)
add_logs(user, target, "stunned", src)
src.add_fingerprint(user)
target.visible_message("<span class ='danger'>[user] has knocked down [target] with [src]!</span>", \
"<span class ='userdanger'>[user] has knocked down [target] with [src]!</span>")
target.visible_message("<span class ='danger'>[user] has knocked down [target] with \the [src]!</span>", \
"<span class ='userdanger'>[user] has knocked down [target] with \the [src]!</span>")
if(!iscarbon(user))
target.LAssailant = null
else
@@ -126,7 +83,7 @@
icon_state = "telebaton_0"
item_state = null
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
w_class = 2
needs_permit = 0
force = 0
on = 0
@@ -135,7 +92,7 @@
var/mob/living/carbon/human/H = user
var/obj/item/organ/brain/B = H.getorgan(/obj/item/organ/brain)
user.visible_message("<span class='suicide'>[user] stuffs [src] up [user.p_their()] nose and presses the 'extend' button! It looks like [user.p_theyre()] trying to clear their mind.</span>")
user.visible_message("<span class='suicide'>[user] stuffs the [src] up their nose and presses the 'extend' button! It looks like they're trying to clear their mind.</span>")
if(!on)
src.attack_self(user)
else
@@ -146,7 +103,7 @@
if (B && !qdeleted(B))
H.internal_organs -= B
qdel(B)
new /obj/effect/gibspawner/generic(H.loc, H.viruses, H.dna)
gibs(H.loc, H.viruses, H.dna)
return (BRUTELOSS)
/obj/item/weapon/melee/classic_baton/telescopic/attack_self(mob/user)
@@ -155,7 +112,7 @@
user << "<span class ='warning'>You extend the baton.</span>"
icon_state = "telebaton_1"
item_state = "nullrod"
w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance
w_class = 4 //doesnt fit in backpack when its on for balance
force = 10 //stunbaton damage
attack_verb = list("smacked", "struck", "cracked", "beaten")
else
@@ -163,7 +120,7 @@
icon_state = "telebaton_0"
item_state = null //no sprite for concealment even when in hand
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
w_class = 2
force = 0 //not so robust now
attack_verb = list("hit", "poked")
@@ -177,7 +134,7 @@
icon_state = "supermatter_sword"
item_state = "supermatter_sword"
slot_flags = null
w_class = WEIGHT_CLASS_BULKY
w_class = 4
force = 0.001
armour_penetration = 1000
var/obj/machinery/power/supermatter_shard/shard
@@ -188,7 +145,7 @@
..()
shard = new /obj/machinery/power/supermatter_shard(src)
START_PROCESSING(SSobj, src)
visible_message("<span class='warning'>[src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.</span>")
visible_message("<span class='warning'>\The [src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.</span>")
/obj/item/weapon/melee/supermatter_sword/process()
if(balanced || throwing || ismob(src.loc) || isnull(src.loc))
@@ -199,7 +156,7 @@
consume_everything(target)
else
var/turf/T = get_turf(src)
if(!isspaceturf(T))
if(!istype(T,/turf/open/space))
consume_turf(T)
/obj/item/weapon/melee/supermatter_sword/afterattack(target, mob/user, proximity_flag)
@@ -222,22 +179,22 @@
balanced = 0
/obj/item/weapon/melee/supermatter_sword/ex_act(severity, target)
visible_message("<span class='danger'>The blast wave smacks into [src] and rapidly flashes to ash.</span>",\
visible_message("<span class='danger'>\The blast wave smacks into \the [src] and rapidly flashes to ash.</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
consume_everything()
/obj/item/weapon/melee/supermatter_sword/acid_act()
visible_message("<span class='danger'>The acid smacks into [src] and rapidly flashes to ash.</span>",\
visible_message("<span class='danger'>\The acid smacks into \the [src] and rapidly flashes to ash.</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
consume_everything()
/obj/item/weapon/melee/supermatter_sword/bullet_act(obj/item/projectile/P)
visible_message("<span class='danger'>[P] smacks into [src] and rapidly flashes to ash.</span>",\
visible_message("<span class='danger'>[P] smacks into \the [src] and rapidly flashes to ash.</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
consume_everything()
/obj/item/weapon/melee/supermatter_sword/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] touches [src]'s blade. It looks like [user.p_theyre()] tired of waiting for the radiation to kill [user.p_them()]!</span>")
user.visible_message("<span class='suicide'>[user] touches the [src]'s blade. It looks like they're tired of waiting for the radiation to kill them!</span>")
user.drop_item()
shard.Bumped(user)
@@ -253,29 +210,11 @@
if(istype(T, T.baseturf))
return //Can't void the void, baby!
playsound(T, 'sound/effects/supermatter.ogg', 50, 1)
T.visible_message("<span class='danger'>[T] smacks into [src] and rapidly flashes to ash.</span>",\
T.visible_message("<span class='danger'>\The [T] smacks into \the [src] and rapidly flashes to ash.</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
shard.Consume()
T.ChangeTurf(T.baseturf)
T.CalculateAdjacentTurfs()
/obj/item/weapon/melee/supermatter_sword/add_blood(list/blood_dna)
return 0
/obj/item/weapon/melee/curator_whip
name = "curator's whip"
desc = "Somewhat eccentric and outdated, it still stings like hell to be hit by."
icon_state = "whip"
item_state = "chain"
slot_flags = SLOT_BELT
force = 15
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
hitsound = 'sound/weapons/chainhit.ogg'
/obj/item/weapon/melee/curator_whip/afterattack(target, mob/user, proximity_flag)
if(ishuman(target) && proximity_flag)
var/mob/living/carbon/human/H = target
H.drop_all_held_items()
H.visible_message("<span class='danger'>[user] disarms [H]!</span>", "<span class='userdanger'>[user] disarmed you!</span>")
..()
return 0