mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Adds in Bola, Other Recipe Tweaks
This commit is contained in:
@@ -947,7 +947,7 @@
|
||||
icon_deny = "sec-deny"
|
||||
req_access_txt = "1"
|
||||
products = list(/obj/item/weapon/restraints/handcuffs = 8,/obj/item/weapon/restraints/handcuffs/cable/zipties = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4,/obj/item/weapon/restraints/legcuffs/bola/energy = 7)
|
||||
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2,/obj/item/device/hailer = 5)
|
||||
|
||||
/obj/machinery/vending/hydronutrients
|
||||
|
||||
@@ -413,10 +413,10 @@
|
||||
do_after_cooldown()
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas
|
||||
name = "PCMK-6 Bolas Launcher"
|
||||
icon_state = "mecha_bolas"
|
||||
projectile = /obj/item/weapon/legcuffs/bolas
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bola
|
||||
name = "PCMK-6 Bola Launcher"
|
||||
icon_state = "mecha_bola"
|
||||
projectile = /obj/item/weapon/restraints/legcuffs/bola
|
||||
fire_sound = 'sound/weapons/whip.ogg'
|
||||
projectiles = 10
|
||||
missile_speed = 1
|
||||
@@ -424,19 +424,18 @@
|
||||
projectile_energy_cost = 50
|
||||
equip_cooldown = 10
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas/can_attach(obj/mecha/combat/gygax/M as obj)
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bola/can_attach(obj/mecha/combat/gygax/M as obj)
|
||||
if(..())
|
||||
if(istype(M))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas/action(target, params)
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bola/action(target, params)
|
||||
if(!action_checks(target))
|
||||
return
|
||||
set_ready_state(0)
|
||||
var/obj/item/weapon/legcuffs/bolas/M = new projectile(chassis.loc)
|
||||
var/obj/item/weapon/restraints/legcuffs/bola/M = new projectile(chassis.loc)
|
||||
playsound(chassis, fire_sound, 50, 1)
|
||||
M.thrown_from = src
|
||||
M.throw_at(target, missile_range, missile_speed)
|
||||
projectiles--
|
||||
log_message("Fired from [name], targeting [target].")
|
||||
|
||||
@@ -114,8 +114,21 @@
|
||||
to_chat(user, "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to make a wired rod.</span>")
|
||||
to_chat(user, "<span class='warning'>You need one rod to make a wired rod!</span>")
|
||||
else if(istype(I, /obj/item/stack/sheet/metal))
|
||||
var/obj/item/stack/sheet/metal/M = I
|
||||
if(M.amount < 6)
|
||||
to_chat(user, "<span class='warning'>You need at least six metal sheets to make good enough weights!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin to apply [I] to [src]...</span>")
|
||||
if(do_after(user, 35, target = src))
|
||||
var/obj/item/weapon/restraints/legcuffs/bola/S = new /obj/item/weapon/restraints/legcuffs/bola
|
||||
M.use(6)
|
||||
user.put_in_hands(S)
|
||||
to_chat(user, "<span class='notice'>You make some weights out of [I] and tie them to [src].</span>")
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties
|
||||
name = "zipties"
|
||||
|
||||
@@ -15,12 +15,17 @@
|
||||
name = "bear trap"
|
||||
throw_speed = 1
|
||||
throw_range = 1
|
||||
icon_state = "beartrap0"
|
||||
icon_state = "beartrap"
|
||||
desc = "A trap used to catch bears and other legged creatures."
|
||||
var/armed = 0
|
||||
var/trap_damage = 20
|
||||
var/obj/item/weapon/grenade/iedcasing/IED = null
|
||||
var/obj/item/device/assembly/signaler/sig = null
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/New()
|
||||
..()
|
||||
icon_state = "[initial(icon_state)][armed]"
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/Destroy()
|
||||
if(IED)
|
||||
qdel(IED)
|
||||
@@ -35,14 +40,14 @@
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/attack_self(mob/user as mob)
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/attack_self(mob/user)
|
||||
..()
|
||||
if(ishuman(user) && !user.stat && !user.restrained())
|
||||
armed = !armed
|
||||
icon_state = "beartrap[armed]"
|
||||
icon_state = "[initial(icon_state)][armed]"
|
||||
to_chat(user, "<span class='notice'>[src] is now [armed ? "armed" : "disarmed"]</span>")
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/attackby(var/obj/item/I, mob/user as mob) //Let's get explosive.
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/attackby(obj/item/I, mob/user) //Let's get explosive.
|
||||
if(istype(I, /obj/item/weapon/grenade/iedcasing))
|
||||
if(IED)
|
||||
to_chat(user, "<span class='warning'>This beartrap already has an IED hooked up to it!</span>")
|
||||
@@ -101,7 +106,7 @@
|
||||
if( (iscarbon(AM) || isanimal(AM)) && !istype(AM, /mob/living/simple_animal/parrot) && !istype(AM, /mob/living/simple_animal/construct) && !istype(AM, /mob/living/simple_animal/shade) && !istype(AM, /mob/living/simple_animal/hostile/viscerator))
|
||||
var/mob/living/L = AM
|
||||
armed = 0
|
||||
icon_state = "beartrap0"
|
||||
icon_state = "[initial(icon_state)][armed]"
|
||||
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
L.visible_message("<span class='danger'>[L] triggers \the [src].</span>", \
|
||||
"<span class='userdanger'>You trigger \the [src]!</span>")
|
||||
@@ -122,9 +127,9 @@
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/H = AM
|
||||
if(H.lying)
|
||||
H.apply_damage(20,BRUTE,"chest")
|
||||
H.apply_damage(trap_damage, BRUTE,"chest")
|
||||
else
|
||||
H.apply_damage(20,BRUTE,(pick("l_leg", "r_leg")))
|
||||
H.apply_damage(trap_damage, BRUTE,(pick("l_leg", "r_leg")))
|
||||
if(!H.legcuffed) //beartrap can't cuff you leg if there's already a beartrap or legcuffs.
|
||||
H.legcuffed = src
|
||||
src.loc = H
|
||||
@@ -132,95 +137,75 @@
|
||||
feedback_add_details("handcuffs","B") //Yes, I know they're legcuffs. Don't change this, no need for an extra variable. The "B" is used to tell them apart.
|
||||
|
||||
else
|
||||
L.apply_damage(20,BRUTE)
|
||||
L.apply_damage(trap_damage, BRUTE)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/energy
|
||||
name = "energy snare"
|
||||
armed = 1
|
||||
icon_state = "e_snare"
|
||||
trap_damage = 0
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas
|
||||
name = "bolas"
|
||||
desc = "An entangling bolas. Throw at your foes to trip them and prevent them from running."
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/energy/New()
|
||||
..()
|
||||
spawn(100)
|
||||
if(!istype(loc, /mob))
|
||||
var/datum/effect/system/spark_spread/sparks = new /datum/effect/system/spark_spread
|
||||
sparks.set_up(1, 1, src)
|
||||
sparks.start()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/energy/dropped()
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/energy/attack_hand(mob/user)
|
||||
Crossed(user) //honk
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/beartrap/energy/cyborg
|
||||
breakouttime = 20 // Cyborgs shouldn't have a strong restraint
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola
|
||||
name = "bola"
|
||||
desc = "A restraining device designed to be thrown at the target. Upon connecting with said target, it will wrap around their legs, making it difficult for them to move quickly."
|
||||
icon_state = "bola"
|
||||
breakouttime = 35//easy to apply, easy to break out of
|
||||
gender = NEUTER
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "bolas"
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 2
|
||||
origin_tech = "engineering=3;combat=1"
|
||||
var/weaken = 0
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola/throw_impact(atom/hit_atom)
|
||||
if(..() || !iscarbon(hit_atom))//if it gets caught or the target can't be cuffed,
|
||||
return//abort
|
||||
var/mob/living/carbon/C = hit_atom
|
||||
if(!C.legcuffed)
|
||||
visible_message("<span class='danger'>\The [src] ensnares [C]!</span>")
|
||||
C.legcuffed = src
|
||||
src.loc = C
|
||||
C.update_inv_legcuffed()
|
||||
feedback_add_details("handcuffs","B")
|
||||
to_chat(C, "<span class='userdanger'>\The [src] ensnares you!</span>")
|
||||
C.Weaken(weaken)
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola/tactical //traitor variant
|
||||
name = "reinforced bola"
|
||||
desc = "A strong bola, made with a long steel chain. It looks heavy, enough so that it could trip somebody."
|
||||
icon_state = "bola_r"
|
||||
breakouttime = 70
|
||||
origin_tech = "engineering=4;combat=3"
|
||||
weaken = 1
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola/energy //For Security
|
||||
name = "energy bola"
|
||||
desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests."
|
||||
icon_state = "ebola"
|
||||
hitsound = 'sound/weapons/tase.ogg'
|
||||
w_class = 2
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("lashed", "bludgeoned", "whipped")
|
||||
force = 4
|
||||
breakouttime = 50 //10 seconds
|
||||
throw_speed = 1
|
||||
throw_range = 10
|
||||
var/dispenser = 0
|
||||
var/throw_sound = 'sound/weapons/whip.ogg'
|
||||
var/trip_prob = 60
|
||||
var/thrown_from
|
||||
breakouttime = 60
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/suicide_act(mob/living/user)
|
||||
to_chat(viewers(user), "<span class='danger'>[user] is wrapping the [src.name] around \his neck! It looks like \he's trying to commit suicide.</span>")
|
||||
return(OXYLOSS)
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/throw_at(var/atom/A, throw_range, throw_speed)
|
||||
if(usr && !istype(thrown_from, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas)) //if there is a user, but not a mech
|
||||
if(istype(usr, /mob/living/carbon/human)) //if the user is human
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if((CLUMSY in H.mutations) && prob(50))
|
||||
to_chat(H, "<span class='warning'>You smack yourself in the face while swinging the [src]!</span>")
|
||||
H.Stun(2)
|
||||
H.drop_item(src)
|
||||
return
|
||||
if(!thrown_from && usr) //if something hasn't set it already (like a mech does when it launches)
|
||||
thrown_from = usr //then the user must have thrown it
|
||||
if(!istype(thrown_from, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas))
|
||||
playsound(src, throw_sound, 20, 1) //because mechs play the sound anyways
|
||||
var/turf/target = get_turf(A)
|
||||
var/atom/movable/adjtarget = new /atom/movable
|
||||
var/xadjust = 0
|
||||
var/yadjust = 0
|
||||
var/scaler = 0 //used to changed the normalised vector to the proper size
|
||||
scaler = throw_range / max(abs(target.x - src.x), abs(target.y - src.y)) //whichever is larger magnitude is what we normalise to
|
||||
if(target.x - src.x != 0) //just to avoid fucking with math for no reason
|
||||
xadjust = round((target.x - src.x) * scaler) //normalised vector is now scaled up to throw_range
|
||||
adjtarget.x = src.x + xadjust //the new target at max range
|
||||
else
|
||||
adjtarget.x = src.x
|
||||
if(target.y - src.y != 0)
|
||||
yadjust = round((target.y - src.y) * scaler)
|
||||
adjtarget.y = src.y + yadjust
|
||||
else
|
||||
adjtarget.y = src.y
|
||||
// log_admin("Adjusted target of [adjtarget.x] and [adjtarget.y], adjusted with [xadjust] and [yadjust] from [scaler]")
|
||||
..(get_turf(adjtarget), throw_range, throw_speed)
|
||||
thrown_from = null
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/throw_impact(atom/hit_atom) //Pomf was right, I was wrong - Comic
|
||||
if(isliving(hit_atom) && hit_atom != usr) //if the target is a live creature other than the thrower
|
||||
var/mob/living/M = hit_atom
|
||||
if(ishuman(M)) //if they're a human species
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.legcuffed) //if the target is already legcuffed (has to be walking)
|
||||
throw_failed()
|
||||
return
|
||||
if(prob(trip_prob)) //this probability is up for change and mostly a placeholder - Comic
|
||||
step(H, H.dir)
|
||||
H.visible_message("<span class='warning'>[H] was tripped by the bolas!</span>","<span class='warning'>Your legs have been tangled!</span>");
|
||||
H.Stun(2) //used instead of setting damage in vars to avoid non-human targets being affected
|
||||
H.Weaken(4)
|
||||
H.legcuffed = src //applies legcuff properties inherited through legcuffs
|
||||
src.loc = H
|
||||
H.update_inv_legcuffed()
|
||||
if(!H.legcuffed) //in case it didn't happen, we need a safety net
|
||||
throw_failed()
|
||||
else
|
||||
M.Stun(2) //minor stun damage to anything not human
|
||||
throw_failed()
|
||||
return
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/proc/throw_failed() //called when the throw doesn't entangle
|
||||
//log_admin("Logged as [thrown_from]")
|
||||
if(!thrown_from || !istype(thrown_from, /mob/living)) //in essence, if we don't know whether a person threw it
|
||||
qdel(src) //destroy it, to stop infinite bolases
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/Bump()
|
||||
..()
|
||||
throw_failed() //allows a mech bolas to be destroyed
|
||||
/obj/item/weapon/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
|
||||
if(iscarbon(hit_atom))
|
||||
var/obj/item/weapon/restraints/legcuffs/beartrap/B = new /obj/item/weapon/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom))
|
||||
B.Crossed(hit_atom)
|
||||
qdel(src)
|
||||
..()
|
||||
@@ -141,6 +141,7 @@
|
||||
/obj/item/stack/packageWrap = 8,
|
||||
/obj/item/pipe = 2)
|
||||
time = 300
|
||||
category = CAT_WEAPON
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/proc/updateTank(obj/item/weapon/tank/thetank, removing = 0, mob/living/carbon/human/user)
|
||||
if(removing)
|
||||
|
||||
@@ -40,4 +40,5 @@
|
||||
result = /obj/item/weapon/picket_sign
|
||||
reqs = list(/obj/item/stack/rods = 1,
|
||||
/obj/item/stack/sheet/cardboard = 2)
|
||||
time = 80
|
||||
time = 80
|
||||
category = CAT_MISC
|
||||
@@ -181,8 +181,8 @@
|
||||
"/obj/item/weapon/melee/classic_baton",
|
||||
"/obj/item/device/flashlight/seclite",
|
||||
"/obj/item/taperoll/police",
|
||||
"/obj/item/weapon/melee/classic_baton/telescopic"
|
||||
)
|
||||
"/obj/item/weapon/melee/classic_baton/telescopic",
|
||||
"/obj/item/weapon/restraints/legcuffs/bola")
|
||||
|
||||
/obj/item/weapon/storage/belt/security/sec/New()
|
||||
..()
|
||||
@@ -476,7 +476,7 @@
|
||||
allow_quick_empty = 1
|
||||
can_hold = list(
|
||||
"/obj/item/weapon/grenade/smokebomb",
|
||||
"/obj/item/weapon/legcuffs/bolas"
|
||||
"/obj/item/weapon/restraints/legcuffs/bola"
|
||||
)
|
||||
|
||||
flags = NODROP
|
||||
@@ -492,8 +492,8 @@
|
||||
new /obj/item/weapon/grenade/smokebomb(src)
|
||||
new /obj/item/weapon/grenade/smokebomb(src)
|
||||
new /obj/item/weapon/grenade/smokebomb(src)
|
||||
new /obj/item/weapon/legcuffs/bolas(src)
|
||||
new /obj/item/weapon/legcuffs/bolas(src)
|
||||
new /obj/item/weapon/restraints/legcuffs/bola(src)
|
||||
new /obj/item/weapon/restraints/legcuffs/bola(src)
|
||||
processing_objects.Add(src)
|
||||
cooldown = world.time
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
for(S in src)
|
||||
smokecount++
|
||||
bolacount = 0
|
||||
var/obj/item/weapon/legcuffs/bolas/B
|
||||
var/obj/item/weapon/restraints/legcuffs/bola/B
|
||||
for(B in src)
|
||||
bolacount++
|
||||
if(smokecount < 4)
|
||||
@@ -513,7 +513,7 @@
|
||||
smokecount++
|
||||
if(bolacount < 2)
|
||||
while(bolacount < 2)
|
||||
new /obj/item/weapon/legcuffs/bolas(src)
|
||||
new /obj/item/weapon/restraints/legcuffs/bola(src)
|
||||
bolacount++
|
||||
cooldown = world.time
|
||||
update_icon()
|
||||
|
||||
@@ -177,12 +177,11 @@
|
||||
|
||||
/datum/crafting_recipe/shoe_rags
|
||||
name = "Shoe Rags"
|
||||
|
||||
result = /obj/item/shoe_silencer
|
||||
reqs = list(/obj/item/stack/tape_roll = 10)
|
||||
tools = list(/obj/item/weapon/wirecutters)
|
||||
|
||||
time = 40
|
||||
category = CAT_MISC
|
||||
|
||||
/obj/item/clothing/shoes/sandal/white
|
||||
name = "White Sandals"
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/obj/item/device/assembly/igniter = 1,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans = 1)
|
||||
parts = list(/obj/item/weapon/reagent_containers/food/drinks/cans = 1)
|
||||
time = 80
|
||||
time = 15
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/stunprod
|
||||
@@ -33,10 +33,18 @@
|
||||
/obj/item/stack/rods = 1,
|
||||
/obj/item/weapon/wirecutters = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
time = 80
|
||||
time = 40
|
||||
parts = list(/obj/item/weapon/stock_parts/cell = 1)
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/bola
|
||||
name = "Bola"
|
||||
result = /obj/item/weapon/restraints/legcuffs/bola
|
||||
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
|
||||
/obj/item/stack/sheet/metal = 6)
|
||||
time = 20//15 faster than crafting them by hand!
|
||||
category= CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/ed209
|
||||
name = "ED209"
|
||||
result = /mob/living/simple_animal/bot/ed209
|
||||
@@ -52,7 +60,7 @@
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver)
|
||||
time = 120
|
||||
time = 60
|
||||
category = CAT_ROBOT
|
||||
|
||||
/datum/crafting_recipe/secbot
|
||||
@@ -64,7 +72,7 @@
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
tools = list(/obj/item/weapon/weldingtool)
|
||||
time = 120
|
||||
time = 60
|
||||
category = CAT_ROBOT
|
||||
|
||||
/datum/crafting_recipe/cleanbot
|
||||
@@ -73,7 +81,7 @@
|
||||
reqs = list(/obj/item/weapon/reagent_containers/glass/bucket = 1,
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
time = 80
|
||||
time = 40
|
||||
category = CAT_ROBOT
|
||||
|
||||
/datum/crafting_recipe/floorbot
|
||||
@@ -83,7 +91,7 @@
|
||||
/obj/item/stack/tile/plasteel = 1,
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
time = 80
|
||||
time = 40
|
||||
category = CAT_ROBOT
|
||||
|
||||
/datum/crafting_recipe/medbot
|
||||
@@ -93,7 +101,7 @@
|
||||
/obj/item/weapon/storage/firstaid = 1,
|
||||
/obj/item/device/assembly/prox_sensor = 1,
|
||||
/obj/item/robot_parts/r_arm = 1)
|
||||
time = 80
|
||||
time = 40
|
||||
category = CAT_ROBOT
|
||||
|
||||
/datum/crafting_recipe/flamethrower
|
||||
@@ -103,7 +111,7 @@
|
||||
/obj/item/device/assembly/igniter = 1,
|
||||
/obj/item/stack/rods = 2)
|
||||
tools = list(/obj/item/weapon/screwdriver)
|
||||
time = 20
|
||||
time = 10
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/meteorshot
|
||||
@@ -171,7 +179,8 @@
|
||||
name = "Overload Improvised Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/improvised/overload
|
||||
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
|
||||
/datum/reagent/blackpowder = 5)
|
||||
/datum/reagent/blackpowder = 10,
|
||||
/datum/reagent/plasma_dust = 20)
|
||||
tools = list(/obj/item/weapon/screwdriver)
|
||||
time = 5
|
||||
category = CAT_AMMO
|
||||
@@ -194,7 +203,16 @@
|
||||
/obj/item/weaponcrafting/stock = 1,
|
||||
/obj/item/stack/packageWrap = 5,)
|
||||
tools = list(/obj/item/weapon/screwdriver)
|
||||
time = 200
|
||||
time = 100
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/spear
|
||||
name = "Spear"
|
||||
result = /obj/item/weapon/twohanded/spear
|
||||
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
|
||||
/obj/item/weapon/shard = 1,
|
||||
/obj/item/stack/rods = 1)
|
||||
time = 40
|
||||
category = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/spooky_camera
|
||||
@@ -208,7 +226,7 @@
|
||||
/datum/crafting_recipe/notreallysoap
|
||||
name = "Homemade Soap"
|
||||
result = /obj/item/weapon/soap/ducttape
|
||||
time = 100
|
||||
time = 50
|
||||
reqs = list(/obj/item/stack/tape_roll = 1,
|
||||
/datum/reagent/liquidgibs = 10)
|
||||
|
||||
@@ -224,7 +242,7 @@
|
||||
/datum/crafting_recipe/makeshift_bolt
|
||||
name = "Makeshift Bolt"
|
||||
result = /obj/item/weapon/arrow/rod
|
||||
time = 15
|
||||
time = 5
|
||||
reqs = list(/obj/item/stack/rods = 1)
|
||||
tools = list(/obj/item/weapon/weldingtool)
|
||||
category = CAT_AMMO
|
||||
@@ -232,7 +250,7 @@
|
||||
/datum/crafting_recipe/crossbow
|
||||
name = "Powered Crossbow"
|
||||
result = /obj/item/weapon/gun/throw/crossbow
|
||||
time = 300
|
||||
time = 150
|
||||
reqs = list(/obj/item/stack/rods = 3,
|
||||
/obj/item/stack/cable_coil = 10,
|
||||
/obj/item/stack/sheet/mineral/plastic = 3,
|
||||
@@ -246,4 +264,4 @@
|
||||
result = /obj/item/latexballon
|
||||
time = 15
|
||||
reqs = list(/obj/item/clothing/gloves/color/latex = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
@@ -99,6 +99,7 @@
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/buckshot
|
||||
name = "buckshot shell"
|
||||
desc = "A 12 gauge buckshot shell."
|
||||
@@ -116,6 +117,7 @@
|
||||
variance = 25
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/beanbag
|
||||
name = "beanbag slug"
|
||||
desc = "A weak beanbag slug for riot control."
|
||||
@@ -123,15 +125,17 @@
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet/rubber
|
||||
materials = list(MAT_METAL=250)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised
|
||||
name = "improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards."
|
||||
icon_state = "gshell"
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/weak
|
||||
materials = list(MAT_METAL=250)
|
||||
pellets = 5
|
||||
pellets = 10
|
||||
variance = 25
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised/overload
|
||||
name = "overloaded improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards. This one has been packed with even more \
|
||||
@@ -139,12 +143,9 @@
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/overload
|
||||
materials = list(MAT_METAL=250)
|
||||
pellets = 5
|
||||
pellets = 4
|
||||
variance = 40
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised/overload/New()
|
||||
..()
|
||||
pellets = rand(3, 8)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/stunslug
|
||||
name = "taser slug"
|
||||
@@ -153,6 +154,7 @@
|
||||
projectile_type = /obj/item/projectile/bullet/stunshot
|
||||
materials = list(MAT_METAL=250)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/meteorshot
|
||||
name = "meteorshot shell"
|
||||
desc = "A shotgun shell rigged with CMC technology, which launches a massive slug when fired."
|
||||
@@ -206,7 +208,7 @@
|
||||
name = "laser slug"
|
||||
desc = "An advanced shotgun shell that uses a micro laser to replicate the effects of a laser weapon in a ballistic package."
|
||||
icon_state = "lshell"
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
projectile_type = /obj/item/projectile/beam/laser
|
||||
|
||||
/obj/item/ammo_casing/shotgun/techshell
|
||||
name = "unloaded technological shell"
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
..()
|
||||
if(istype(target, /mob/living/carbon))
|
||||
var/mob/living/carbon/M = target
|
||||
M.adjust_fire_stacks(1)
|
||||
M.adjust_fire_stacks(4)
|
||||
M.IgniteMob()
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/firebullet
|
||||
|
||||
@@ -837,13 +837,13 @@
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
/datum/design/mech_bolas
|
||||
name = "Exosuit Weapon Design (PCMK-6 Bolas Launcher)"
|
||||
desc = "Allows for the construction of PCMK-6 Bolas Launcher."
|
||||
id = "mech_bolas"
|
||||
/datum/design/mech_bola
|
||||
name = "Exosuit Weapon Design (PCMK-6 Bola Launcher)"
|
||||
desc = "Allows for the construction of PCMK-6 Bola Launcher."
|
||||
id = "mech_bola"
|
||||
build_type = MECHFAB
|
||||
req_tech = list("combat" = 3)
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bola
|
||||
materials = list(MAT_METAL=10000)
|
||||
construction_time = 100
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 113 KiB |
Reference in New Issue
Block a user