mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
Revert "Removes some obselete attackby() code [Removes attackby crafting]"
This commit is contained in:
@@ -1410,7 +1410,7 @@
|
||||
"aBf" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/white,/area/maintenance/asmaint2)
|
||||
"aBg" = (/obj/item/clothing/gloves/color/latex/nitrile,/turf/open/floor/plasteel/white,/area/maintenance/asmaint2)
|
||||
"aBh" = (/turf/open/floor/plasteel/white,/area/maintenance/asmaint2)
|
||||
"aBi" = (/obj/structure/table,/obj/item/weapon/melee/baton/cattleprod,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/restraints/handcuffs,/obj/item/clothing/tie/stethoscope,/turf/open/floor/plasteel/white,/area/space)
|
||||
"aBi" = (/obj/structure/table,/obj/item/weapon/wirerod,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/restraints/handcuffs,/obj/item/clothing/tie/stethoscope,/turf/open/floor/plasteel/white,/area/space)
|
||||
"aBj" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/quartermaster/miningdock{name = "\improper Mining Office"})
|
||||
"aBk" = (/obj/structure/cable/cyan{icon_state = "1-2"},/turf/open/floor/plating,/area/quartermaster/miningdock{name = "\improper Mining Office"})
|
||||
"aBl" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating,/area/quartermaster/miningdock{name = "\improper Mining Office"})
|
||||
|
||||
@@ -12173,7 +12173,7 @@
|
||||
"ayJ" = (
|
||||
/obj/structure/rack,
|
||||
/obj/item/weapon/lipstick/jade,
|
||||
/obj/item/weapon/melee/baton/cattleprod,
|
||||
/obj/item/weapon/wirerod,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
lootcount = 3;
|
||||
name = "3maintenance loot spawner"
|
||||
@@ -77150,7 +77150,7 @@
|
||||
tag = "icon-1-2";
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/item/weapon/melee/baton/cattleprod,
|
||||
/obj/item/weapon/wirerod,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/engine/engineering)
|
||||
"cQP" = (
|
||||
|
||||
@@ -62391,6 +62391,7 @@
|
||||
"cwy" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/table_frame,
|
||||
/obj/item/weapon/wirerod,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/asmaint2)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
w_class = 3
|
||||
materials = list(MAT_METAL=500)
|
||||
origin_tech = "combat=1;plasmatech=1"
|
||||
var/status = 0
|
||||
var/throw_amount = 100
|
||||
var/lit = 0 //on or off
|
||||
var/operating = 0//cooldown
|
||||
@@ -48,7 +49,7 @@
|
||||
/obj/item/weapon/flamethrower/update_icon()
|
||||
overlays.Cut()
|
||||
if(igniter)
|
||||
overlays += "+igniter1"
|
||||
overlays += "+igniter[status]"
|
||||
if(ptank)
|
||||
overlays += "+ptank"
|
||||
if(lit)
|
||||
@@ -69,7 +70,41 @@
|
||||
flame_turf(turflist)
|
||||
|
||||
/obj/item/weapon/flamethrower/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/weapon/tank/internals/plasma))
|
||||
if(istype(W, /obj/item/weapon/wrench) && !status)//Taking this apart
|
||||
var/turf/T = get_turf(src)
|
||||
if(weldtool)
|
||||
weldtool.loc = T
|
||||
weldtool = null
|
||||
if(igniter)
|
||||
igniter.loc = T
|
||||
igniter = null
|
||||
if(ptank)
|
||||
ptank.loc = T
|
||||
ptank = null
|
||||
new /obj/item/stack/rods(T)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && igniter && !lit)
|
||||
status = !status
|
||||
user << "<span class='notice'>[igniter] is now [status ? "secured" : "unsecured"]!</span>"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
else if(isigniter(W))
|
||||
var/obj/item/device/assembly/igniter/I = W
|
||||
if(I.secured)
|
||||
return
|
||||
if(igniter)
|
||||
return
|
||||
if(!user.unEquip(W))
|
||||
return
|
||||
I.loc = src
|
||||
igniter = I
|
||||
update_icon()
|
||||
return
|
||||
|
||||
else if(istype(W,/obj/item/weapon/tank/internals/plasma))
|
||||
if(ptank)
|
||||
user << "<span class='notice'>There appears to already be a plasma tank loaded in [src]!</span>"
|
||||
return
|
||||
@@ -110,6 +145,8 @@
|
||||
if(href_list["light"])
|
||||
if(!ptank)
|
||||
return
|
||||
if(!status)
|
||||
return
|
||||
lit = !lit
|
||||
if(lit)
|
||||
SSobj.processing |= src
|
||||
@@ -137,7 +174,9 @@
|
||||
..()
|
||||
weldtool = locate(/obj/item/weapon/weldingtool) in contents
|
||||
igniter = locate(/obj/item/device/assembly/igniter) in contents
|
||||
weldtool.status = 0
|
||||
igniter.secured = 0
|
||||
status = 1
|
||||
update_icon()
|
||||
|
||||
//Called from turf.dm turf/dblclick
|
||||
@@ -179,9 +218,11 @@
|
||||
..()
|
||||
if(!weldtool)
|
||||
weldtool = new /obj/item/weapon/weldingtool(src)
|
||||
weldtool.status = 0
|
||||
if(!igniter)
|
||||
igniter = new /obj/item/device/assembly/igniter(src)
|
||||
igniter.secured = 0
|
||||
status = 1
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/flamethrower/full/tank/New(var/loc)
|
||||
|
||||
@@ -151,6 +151,37 @@
|
||||
desc = "Fake handcuffs meant for erotic roleplay."
|
||||
icon_state = "handcuffGag"
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params)
|
||||
..()
|
||||
if(istype(I, /obj/item/stack/rods))
|
||||
var/obj/item/stack/rods/R = I
|
||||
if (R.use(1))
|
||||
var/obj/item/weapon/wirerod/W = new /obj/item/weapon/wirerod
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
user.put_in_hands(W)
|
||||
user << "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>"
|
||||
qdel(src)
|
||||
else
|
||||
user << "<span class='warning'>You need one rod to make a wired rod!</span>"
|
||||
return
|
||||
else if(istype(I, /obj/item/stack/sheet/metal))
|
||||
var/obj/item/stack/sheet/metal/M = I
|
||||
if(M.amount < 6)
|
||||
user << "<span class='warning'>You need at least six metal sheets to make good enough weights!</span>"
|
||||
return
|
||||
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)
|
||||
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)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg/attack(mob/living/carbon/C, mob/user)
|
||||
if(isrobot(user))
|
||||
if(!C.handcuffed)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
/obj/item/weapon/tank/internals/plasma/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/flamethrower))
|
||||
var/obj/item/weapon/flamethrower/F = W
|
||||
if(F.ptank)
|
||||
if ((!F.status)||(F.ptank))
|
||||
return
|
||||
src.master = F
|
||||
F.ptank = src
|
||||
|
||||
@@ -202,6 +202,7 @@
|
||||
materials = list(MAT_METAL=70, MAT_GLASS=30)
|
||||
origin_tech = "engineering=1"
|
||||
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
|
||||
var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
|
||||
var/max_fuel = 20 //The max amount of fuel the welder can hold
|
||||
var/change_icons = 1
|
||||
var/can_off_process = 0
|
||||
@@ -243,6 +244,16 @@
|
||||
user.visible_message("<span class='suicide'>[user] welds \his every orifice closed! It looks like \he's trying to commit suicide..</span>")
|
||||
return (FIRELOSS)
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
flamethrower_screwdriver(I, user)
|
||||
else if(istype(I, /obj/item/stack/rods))
|
||||
flamethrower_rods(I, user)
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/attack(mob/living/carbon/human/H, mob/user)
|
||||
if(!istype(H))
|
||||
return ..()
|
||||
@@ -356,6 +367,9 @@
|
||||
|
||||
//Toggles the welder off and on
|
||||
/obj/item/weapon/weldingtool/proc/toggle(mob/user, message = 0)
|
||||
if(!status)
|
||||
user << "<span class='warning'>[src] can't be turned on while unsecured!</span>"
|
||||
return
|
||||
welding = !welding
|
||||
if(welding)
|
||||
if(get_fuel() >= 1)
|
||||
@@ -381,6 +395,33 @@
|
||||
/obj/item/weapon/weldingtool/is_hot()
|
||||
return welding * heat
|
||||
|
||||
/obj/item/weapon/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user)
|
||||
if(welding)
|
||||
user << "<span class='warning'>Turn it off first!</span>"
|
||||
return
|
||||
status = !status
|
||||
if(status)
|
||||
user << "<span class='notice'>You resecure [src].</span>"
|
||||
else
|
||||
user << "<span class='notice'>[src] can now be attached and modified.</span>"
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/weapon/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user)
|
||||
if(!status)
|
||||
var/obj/item/stack/rods/R = I
|
||||
if (R.use(1))
|
||||
var/obj/item/weapon/flamethrower/F = new /obj/item/weapon/flamethrower(user.loc)
|
||||
if(!remove_item_from_storage(F))
|
||||
user.unEquip(src)
|
||||
loc = F
|
||||
F.weldtool = src
|
||||
add_fingerprint(user)
|
||||
user << "<span class='notice'>You add a rod to a welder, starting to build a flamethrower.</span>"
|
||||
user.put_in_hands(F)
|
||||
else
|
||||
user << "<span class='warning'>You need one rod to start building a flamethrower!</span>"
|
||||
return
|
||||
|
||||
/obj/item/weapon/weldingtool/largetank
|
||||
name = "industrial welding tool"
|
||||
desc = "A slightly larger welder with a larger tank."
|
||||
@@ -396,6 +437,10 @@
|
||||
icon_state = "indwelder"
|
||||
toolspeed = 2
|
||||
|
||||
/obj/item/weapon/weldingtool/largetank/flamethrower_screwdriver()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/mini
|
||||
name = "emergency welding tool"
|
||||
desc = "A miniature welder used during emergencies."
|
||||
@@ -405,6 +450,10 @@
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
change_icons = 0
|
||||
|
||||
/obj/item/weapon/weldingtool/mini/flamethrower_screwdriver()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/hugetank
|
||||
name = "upgraded industrial welding tool"
|
||||
desc = "An upgraded welder based of the industrial welder."
|
||||
|
||||
@@ -78,6 +78,46 @@
|
||||
user.visible_message("<span class='suicide'>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>")
|
||||
return(BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/wirerod
|
||||
name = "wired rod"
|
||||
desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit."
|
||||
icon_state = "wiredrod"
|
||||
item_state = "rods"
|
||||
flags = CONDUCT
|
||||
force = 9
|
||||
throwforce = 10
|
||||
w_class = 3
|
||||
materials = list(MAT_METAL=1150, MAT_GLASS=75)
|
||||
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
|
||||
|
||||
/obj/item/weapon/wirerod/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/shard))
|
||||
var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear
|
||||
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
user.unEquip(I)
|
||||
|
||||
user.put_in_hands(S)
|
||||
user << "<span class='notice'>You fasten the glass shard to the top of the rod with the cable.</span>"
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(I, /obj/item/device/assembly/igniter) && !(I.flags & NODROP))
|
||||
var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod
|
||||
|
||||
if(!remove_item_from_storage(user))
|
||||
user.unEquip(src)
|
||||
user.unEquip(I)
|
||||
|
||||
user.put_in_hands(P)
|
||||
user << "<span class='notice'>You fasten [I] to the top of the rod with the cable.</span>"
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/throwing_star
|
||||
name = "throwing star"
|
||||
desc = "An ancient weapon still used to this day due to it's ease of lodging itself into victim's body parts"
|
||||
|
||||
@@ -9,14 +9,6 @@
|
||||
var/chem_catalysts[] = list() //like tools but for reagents
|
||||
var/category = CAT_NONE //where it shows up in the crafting UI
|
||||
|
||||
/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/pin_removal
|
||||
name = "Pin Removal"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 889 B After Width: | Height: | Size: 859 B |
Reference in New Issue
Block a user