mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
Migrate a variety of weaponry to the new attack chain. (#32398)
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
to_chat(target, "<font color='red'><b>You have been banned FOR NO REISIN by [user]<b></font>")
|
||||
to_chat(user, "<font color='red'>You have <b>BANNED</b> [target]</font>")
|
||||
playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much
|
||||
playsound(loc, 'sound/effects/adminhelp.ogg', 15) // Keep it at 15% volume so people don't jump out of their skin too much.
|
||||
return FINISH_ATTACK
|
||||
|
||||
/obj/item/sord
|
||||
@@ -42,10 +42,13 @@
|
||||
throwforce = 1
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/sord/suicide_act(mob/user)
|
||||
user.visible_message(SPAN_SUICIDE("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty."), \
|
||||
SPAN_SUICIDE("You try to impale yourself with [src], but it's USELESS..."))
|
||||
user.visible_message(
|
||||
SPAN_SUICIDE("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty."),
|
||||
SPAN_SUICIDE("You try to impale yourself with [src], but it's USELESS...")
|
||||
)
|
||||
return SHAME
|
||||
|
||||
/obj/item/claymore
|
||||
@@ -64,6 +67,7 @@
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 50)
|
||||
resistance_flags = FIRE_PROOF
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/claymore/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -89,6 +93,7 @@
|
||||
force = 20
|
||||
throwforce = 15
|
||||
attack_verb = list("jabbed","stabbed","ripped")
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/wirerod
|
||||
name = "wired rod"
|
||||
@@ -98,36 +103,48 @@
|
||||
flags = CONDUCT
|
||||
force = 9
|
||||
throwforce = 10
|
||||
materials = list(MAT_METAL=1150, MAT_GLASS=75)
|
||||
materials = list(MAT_METAL = 1150, MAT_GLASS = 75)
|
||||
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/wirerod/attackby__legacy__attackchain(obj/item/I, mob/user, params)
|
||||
..()
|
||||
if(istype(I, /obj/item/shard))
|
||||
var/obj/item/spear/S = new /obj/item/spear
|
||||
if(istype(I, /obj/item/shard/plasma))
|
||||
S.add_plasmaglass()
|
||||
S.update_icon()
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unequip(src)
|
||||
user.unequip(I)
|
||||
/obj/item/wirerod/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(!istype(used, /obj/item/shard) && !istype(used, /obj/item/assembly/igniter))
|
||||
return ..()
|
||||
|
||||
user.put_in_hands(S)
|
||||
to_chat(user, SPAN_NOTICE("You fasten the glass shard to the top of the rod with the cable."))
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
if(istype(used, /obj/item/assembly/igniter))
|
||||
if(used.flags & NODROP)
|
||||
to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else if(istype(I, /obj/item/assembly/igniter) && !(I.flags & NODROP))
|
||||
var/obj/item/melee/baton/cattleprod/P = new /obj/item/melee/baton/cattleprod
|
||||
var/obj/item/melee/baton/cattleprod/prod = new /obj/item/melee/baton/cattleprod
|
||||
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unequip(src)
|
||||
user.unequip(I)
|
||||
user.unequip(used)
|
||||
|
||||
user.put_in_hands(P)
|
||||
to_chat(user, SPAN_NOTICE("You fasten [I] to the top of the rod with the cable."))
|
||||
qdel(I)
|
||||
src.transfer_fingerprints_to(prod)
|
||||
transfer_fingerprints_to(prod)
|
||||
user.put_in_hands(prod)
|
||||
to_chat(user, SPAN_NOTICE("You fasten [used] to the top of the rod with the cable."))
|
||||
qdel(used)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
var/obj/item/spear/spear = new /obj/item/spear
|
||||
if(istype(used, /obj/item/shard/plasma))
|
||||
spear.add_plasmaglass()
|
||||
spear.update_icon()
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unequip(src)
|
||||
user.unequip(used)
|
||||
|
||||
used.transfer_fingerprints_to(spear)
|
||||
transfer_fingerprints_to(spear)
|
||||
user.put_in_hands(spear)
|
||||
to_chat(user, SPAN_NOTICE("You fasten [used] to the top of the rod with the cable."))
|
||||
qdel(used)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
/obj/item/throwing_star
|
||||
name = "throwing star"
|
||||
@@ -138,15 +155,16 @@
|
||||
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
|
||||
force = 2
|
||||
throwforce = 20 //This is never used on mobs since this has a 100% embed chance.
|
||||
throwforce = 20 // This is never used on mobs since this has a 100% embed chance.
|
||||
throw_speed = 4
|
||||
embedded_pain_multiplier = 4
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
embed_chance = 100
|
||||
embedded_fall_chance = 0 //Hahaha!
|
||||
embedded_fall_chance = 0 // Hahaha!
|
||||
sharp = TRUE
|
||||
materials = list(MAT_METAL=500, MAT_GLASS=500)
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
|
||||
resistance_flags = FIRE_PROOF
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/kidan_spear
|
||||
name = "\improper kidan spear"
|
||||
@@ -167,6 +185,7 @@
|
||||
no_spin_thrown = TRUE
|
||||
needs_permit = TRUE
|
||||
resistance_flags = FIRE_PROOF
|
||||
new_attack_chain = TRUE
|
||||
|
||||
/obj/item/melee/baseball_bat
|
||||
name = "baseball bat"
|
||||
@@ -184,7 +203,8 @@
|
||||
var/throw_cooldown = 10 SECONDS
|
||||
var/homerun_ready = FALSE
|
||||
var/homerun_able = FALSE
|
||||
var/deflectmode = FALSE // deflect small/medium thrown objects
|
||||
/// Deflect small/medium thrown objects.
|
||||
var/deflectmode = FALSE
|
||||
/// Is the bat made of metal?
|
||||
var/is_metal = FALSE
|
||||
|
||||
@@ -200,7 +220,7 @@
|
||||
if(!isitem(hitby) || attack_type != THROWN_PROJECTILE_ATTACK)
|
||||
return FALSE
|
||||
var/obj/item/I = hitby
|
||||
if(I.w_class <= WEIGHT_CLASS_NORMAL || istype(I, /obj/item/beach_ball)) // baseball bat deflecting
|
||||
if(I.w_class <= WEIGHT_CLASS_NORMAL || istype(I, /obj/item/beach_ball)) // Baseball bat deflecting.
|
||||
if(!deflectmode)
|
||||
return
|
||||
if(prob(5) || homerun_ready)
|
||||
@@ -323,11 +343,6 @@
|
||||
throwforce = 15
|
||||
is_metal = TRUE
|
||||
|
||||
/obj/item/melee/baseball_bat/ablative/IsReflect()//some day this will reflect thrown items instead of lasers
|
||||
var/picksound = rand(1,2)
|
||||
var/turf = get_turf(src)
|
||||
if(picksound == 1)
|
||||
playsound(turf, 'sound/weapons/effects/batreflect1.ogg', 50, 1)
|
||||
if(picksound == 2)
|
||||
playsound(turf, 'sound/weapons/effects/batreflect2.ogg', 50, 1)
|
||||
return 1
|
||||
/obj/item/melee/baseball_bat/ablative/IsReflect() // Some day this will reflect thrown items instead of lasers.
|
||||
playsound(get_turf(src), pick('sound/weapons/effects/batreflect1.ogg', 'sound/weapons/effects/batreflect2.ogg'), 50, 1)
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user