mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 05:27:01 +01:00
MERGE SHIT REEEEE IMMAH PUNCH A WALL
This commit is contained in:
@@ -194,7 +194,7 @@
|
||||
|
||||
/obj/item/flash/armimplant
|
||||
name = "photon projector"
|
||||
desc = "A high-powered photon projector implant normally used for lighting purposes, but also doubles as a flashbulb weapon. Self-repair protocals fix the flashbulb if it ever burns out."
|
||||
desc = "A high-powered photon projector implant normally used for lighting purposes, but also doubles as a flashbulb weapon. Self-repair protocols fix the flashbulb if it ever burns out."
|
||||
var/flashcd = 20
|
||||
var/overheat = 0
|
||||
var/obj/item/organ/internal/cyberimp/arm/flash/I = null
|
||||
|
||||
@@ -102,4 +102,4 @@
|
||||
|
||||
/obj/item/pizza_bomb/autoarm
|
||||
timer_set = 1
|
||||
timer = 10
|
||||
timer = 30 // 3 seconds
|
||||
@@ -24,6 +24,7 @@ var/list/world_uplinks = list()
|
||||
|
||||
var/job = null
|
||||
var/show_descriptions = 0
|
||||
var/temp_category
|
||||
|
||||
/obj/item/uplink/nano_host()
|
||||
return loc
|
||||
@@ -233,6 +234,7 @@ var/list/world_uplinks = list()
|
||||
if(!nanoui_items)
|
||||
generate_items(user)
|
||||
data["nano_items"] = nanoui_items
|
||||
data["category_choice"] = temp_category
|
||||
data += nanoui_data
|
||||
|
||||
return data
|
||||
@@ -260,9 +262,6 @@ var/list/world_uplinks = list()
|
||||
hidden_crystals = 0
|
||||
ui.close()
|
||||
return 1
|
||||
if(href_list["return"])
|
||||
nanoui_menu = round(nanoui_menu/10)
|
||||
update_nano_data()
|
||||
if(href_list["menu"])
|
||||
nanoui_menu = text2num(href_list["menu"])
|
||||
update_nano_data(href_list["id"])
|
||||
@@ -272,6 +271,9 @@ var/list/world_uplinks = list()
|
||||
if(href_list["descriptions"])
|
||||
show_descriptions = !show_descriptions
|
||||
update_nano_data()
|
||||
if(href_list["category"])
|
||||
temp_category = href_list["category"]
|
||||
update_nano_data()
|
||||
|
||||
SSnanoui.update_uis(src)
|
||||
return 1
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
var/list/types = list(/obj/item/gun/projectile/shotgun/toy/crossbow, /obj/item/toy/balloon,/obj/item/toy/spinningtoy,/obj/item/reagent_containers/spray/waterflower) + subtypesof(/obj/item/toy/prize)
|
||||
var/T = pick(types)
|
||||
new T(loc)
|
||||
spawn(1)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
// -------------------------------------
|
||||
// Random cleanables, clearly this makes sense
|
||||
@@ -24,8 +23,7 @@
|
||||
var/list/list = subtypesof(/obj/effect/decal/cleanable) - list(/obj/effect/decal/cleanable/random,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/cobweb2)
|
||||
var/T = pick(list)
|
||||
new T(loc)
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/item/stack/sheet/animalhide/random
|
||||
@@ -33,11 +31,10 @@
|
||||
|
||||
/obj/item/stack/sheet/animalhide/random/New()
|
||||
..()
|
||||
spawn(1)
|
||||
var/htype = pick(/obj/item/stack/sheet/animalhide/cat,/obj/item/stack/sheet/animalhide/corgi,/obj/item/stack/sheet/animalhide/human,/obj/item/stack/sheet/animalhide/lizard,/obj/item/stack/sheet/animalhide/monkey)
|
||||
var/obj/item/stack/S = new htype(loc)
|
||||
S.amount = amount
|
||||
qdel(src)
|
||||
var/htype = pick(/obj/item/stack/sheet/animalhide/cat,/obj/item/stack/sheet/animalhide/corgi,/obj/item/stack/sheet/animalhide/human,/obj/item/stack/sheet/animalhide/lizard,/obj/item/stack/sheet/animalhide/monkey)
|
||||
var/obj/item/stack/S = new htype(loc)
|
||||
S.amount = amount
|
||||
qdel(src)
|
||||
|
||||
// -------------------------------------
|
||||
// Not yet identified chemical.
|
||||
@@ -121,8 +118,7 @@
|
||||
icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/storage/pill_bottle/random_meds
|
||||
name = "unlabelled pillbottle"
|
||||
@@ -158,16 +154,10 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/unknownchemicals/New()
|
||||
..()
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_chem(src)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_chem(src)
|
||||
for(var/i in 1 to 7)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_base_chem(src)
|
||||
for(var/i in 1 to 3)
|
||||
new/obj/item/reagent_containers/glass/bottle/random_chem(src)
|
||||
while(prob(50))
|
||||
new/obj/item/reagent_containers/glass/bottle/random_reagent(src)
|
||||
|
||||
@@ -193,7 +183,7 @@
|
||||
B.name = "unlabelled bottle"
|
||||
B.desc = "Looks like the label fell off."
|
||||
// B.identify_probability = 0
|
||||
|
||||
//
|
||||
/*
|
||||
/obj/structure/closet/crate/bin/flowers
|
||||
name = "flower barrel"
|
||||
@@ -243,11 +233,8 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/random_drinks/New()
|
||||
..()
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
for(var/i in 1 to 5)
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_drink(src)
|
||||
while(prob(25))
|
||||
new/obj/item/reagent_containers/food/drinks/bottle/random_reagent(src)
|
||||
|
||||
@@ -272,12 +259,12 @@
|
||||
visible_message("<span class='warning'>Something falls out of the [src]!</span>")
|
||||
var/obj/item/grenade/clusterbuster/C = new(src.loc)
|
||||
C.prime()
|
||||
spawn(10)
|
||||
new menace(src.loc)
|
||||
while(prob(15))
|
||||
new menace(get_step_rand(src.loc))
|
||||
..()
|
||||
return 1
|
||||
sleep(10)
|
||||
new menace(src.loc)
|
||||
while(prob(15))
|
||||
new menace(get_step_rand(src.loc))
|
||||
..()
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -296,19 +283,15 @@
|
||||
|
||||
/obj/structure/largecrate/schrodinger/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
var/mob/living/simple_animal/pet/cat/Cat1 = new(loc)
|
||||
Cat1.apply_damage(250)//,TOX)
|
||||
Cat1.name = "Schrodinger's Cat"
|
||||
Cat1.desc = "It seems it's been dead for a while."
|
||||
|
||||
var/mob/living/simple_animal/pet/cat/Cat2 = new(loc)
|
||||
Cat2.name = "Schrodinger's Cat"
|
||||
Cat2.desc = "It's was alive the whole time!"
|
||||
sleep(2)
|
||||
var/mob/living/simple_animal/pet/cat/Cat = new(loc)
|
||||
Cat.name = "Schrodinger's Cat"
|
||||
|
||||
if(prob(50))
|
||||
qdel(Cat1)
|
||||
Cat.apply_damage(250,TOX)
|
||||
Cat.desc = "It seems it's been dead for a while."
|
||||
else
|
||||
qdel(Cat2)
|
||||
Cat.desc = "It was alive the whole time!"
|
||||
return ..()
|
||||
|
||||
// --------------------------------------
|
||||
@@ -326,16 +309,6 @@
|
||||
|
||||
/obj/item/storage/box/grenades/New()
|
||||
..()
|
||||
var/nade1 = pick(grenadelist)
|
||||
var/nade2 = pick(grenadelist)
|
||||
var/nade3 = pick(grenadelist)
|
||||
var/nade4 = pick(grenadelist)
|
||||
var/nade5 = pick(grenadelist)
|
||||
var/nade6 = pick(grenadelist)
|
||||
|
||||
new nade1(src)
|
||||
new nade2(src)
|
||||
new nade3(src)
|
||||
new nade4(src)
|
||||
new nade5(src)
|
||||
new nade6(src)
|
||||
for(var/i in 1 to 6)
|
||||
var/nade = pick(grenadelist)
|
||||
new nade(src)
|
||||
@@ -22,16 +22,42 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>All [R]'s systems are nominal.</span>")
|
||||
|
||||
if(istype(M,/mob/living/carbon/human)) //Repairing robolimbs
|
||||
if(istype(M,/mob/living/carbon/human)) //Repairing robotic limbs and IPCs
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
|
||||
|
||||
if(S && S.is_robotic())
|
||||
if(S.get_damage())
|
||||
S.heal_damage(15, 15, robo_repair = 1)
|
||||
use(1)
|
||||
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"][S.name] with \the [src].</span>",\
|
||||
"<span class='notice'>You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.name].</span>")
|
||||
var/remheal = 15
|
||||
var/nremheal = 0
|
||||
S.heal_damage(robo_repair = 1) //should in, theory, heal the robotic organs in just the targeted area with it being S instead of E
|
||||
var/childlist
|
||||
if(!isnull(S.children))
|
||||
childlist = S.children.Copy()
|
||||
var/parenthealed = FALSE
|
||||
while(remheal > 0)
|
||||
var/obj/item/organ/external/E
|
||||
if(S.get_damage())
|
||||
E = S
|
||||
else if(LAZYLEN(childlist))
|
||||
E = pick_n_take(childlist)
|
||||
if(!E.get_damage() || !E.is_robotic())
|
||||
continue
|
||||
else if(S.parent && !parenthealed)
|
||||
E = S.parent
|
||||
parenthealed = TRUE
|
||||
if(!E.get_damage() || !E.is_robotic())
|
||||
break
|
||||
else
|
||||
break
|
||||
nremheal = max(remheal - E.get_damage(), 0)
|
||||
E.heal_damage(remheal, 0, 0, 1) //Healing Brute
|
||||
E.heal_damage(0, remheal, 0, 1) //Healing Burn
|
||||
remheal = nremheal
|
||||
user.visible_message("<span class='notice'>\The [user] applies some nanite paste at \the [M]'s [E.name] with \the [src].</span>")
|
||||
if(H.bleed_rate && H.isSynthetic())
|
||||
H.bleed_rate = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Nothing to fix here.</span>")
|
||||
else
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
else
|
||||
icon_state = "rcl-0"
|
||||
item_state = "rcl-0"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/rcl/proc/is_empty(mob/user, loud = 1)
|
||||
update_icon()
|
||||
|
||||
@@ -196,7 +196,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
if(is_being_smoked) // if it's being smoked, transfer reagents to the mob
|
||||
var/mob/living/carbon/C = loc
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
reagents.trans_to(C, REAGENTS_METABOLISM)
|
||||
reagents.trans_id_to(C, R.id, max(REAGENTS_METABOLISM / reagents.reagent_list.len, 0.1)) //transfer at least .1 of each chem
|
||||
if(!reagents.total_volume) // There were reagents, but now they're gone
|
||||
to_chat(C, "<span class='notice'>Your [name] loses its flavor.</span>")
|
||||
else // else just remove some of the reagents
|
||||
@@ -232,7 +232,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
type_butt = /obj/item/cigbutt/roach
|
||||
throw_speed = 0.5
|
||||
item_state = "spliffoff"
|
||||
smoketime = 180
|
||||
smoketime = 250
|
||||
chem_volume = 100
|
||||
|
||||
/obj/item/clothing/mask/cigarette/rollie/New()
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
desc = "Damn son, where'd you find this?"
|
||||
icon_state = "air_horn"
|
||||
origin_tech = "materials=4;engineering=4"
|
||||
honk_sounds = list('sound/items/airhorn2.ogg' = 1)
|
||||
honk_sounds = list('sound/items/Airhorn2.ogg' = 1)
|
||||
|
||||
/obj/item/bikehorn/golden
|
||||
name = "golden bike horn"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
* Butcher's cleaver
|
||||
* Rolling Pins
|
||||
* Candy Moulds
|
||||
* Sushi Mat
|
||||
*/
|
||||
|
||||
/obj/item/kitchen
|
||||
@@ -249,3 +250,17 @@
|
||||
name = "sucker mould"
|
||||
desc = "It has the shape of a sucker imprinted into it."
|
||||
icon_state = "mould_loli"
|
||||
|
||||
/*
|
||||
* Sushi Mat
|
||||
*/
|
||||
/obj/item/kitchen/sushimat
|
||||
name = "Sushi Mat"
|
||||
desc = "A wooden mat used for efficient sushi crafting."
|
||||
icon_state = "sushi_mat"
|
||||
force = 5
|
||||
throwforce = 5
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("rolled", "cracked", "battered", "thrashed")
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/obj/item/storage/backpack/holding/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/storage/backpack/holding))
|
||||
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
|
||||
var/response = alert(user, "This creates a singularity, destroying you and much of the station. Are you SURE?","IMMINENT DEATH!", "No", "Yes")
|
||||
if(response == "Yes")
|
||||
user.visible_message("<span class='warning'>[user] grins as [user.p_they()] begin[user.p_s()] to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
|
||||
if(do_after(user, 30, target=src))
|
||||
|
||||
@@ -74,6 +74,26 @@
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector( src )
|
||||
return
|
||||
|
||||
/obj/item/storage/box/survival_vox
|
||||
icon_state = "box_vox"
|
||||
|
||||
/obj/item/storage/box/survival_vox/New()
|
||||
..()
|
||||
contents = list()
|
||||
new /obj/item/clothing/mask/breath/vox(src)
|
||||
new /obj/item/tank/emergency_oxygen/nitrogen(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
|
||||
/obj/item/storage/box/survival_plasmaman
|
||||
icon_state = "box_plasma"
|
||||
|
||||
/obj/item/storage/box/survival_plasmaman/New()
|
||||
..()
|
||||
contents = list()
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
new /obj/item/tank/emergency_oxygen/plasma(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
|
||||
/obj/item/storage/box/engineer
|
||||
icon_state = "box_eng"
|
||||
New()
|
||||
|
||||
@@ -94,16 +94,6 @@
|
||||
new /obj/item/multitool(src)
|
||||
new /obj/item/clothing/gloves/combat(src)
|
||||
|
||||
|
||||
/obj/item/storage/toolbox/syndicate/trapped
|
||||
name = "suspicious looking toolbox"
|
||||
desc = "Danger. Very robust. Has a small red marker by the handle."
|
||||
|
||||
/obj/item/storage/toolbox/syndicate/trapped/New()
|
||||
..()
|
||||
new /obj/item/grenade/chem_grenade/explosion/mine_armed(src)
|
||||
|
||||
|
||||
/obj/item/storage/toolbox/drone
|
||||
name = "mechanical toolbox"
|
||||
icon_state = "blue"
|
||||
|
||||
@@ -5,59 +5,42 @@
|
||||
icon_state = "taperoll"
|
||||
singular_name = "tape roll"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
amount = 10
|
||||
max_amount = 10
|
||||
amount = 25
|
||||
max_amount = 25
|
||||
|
||||
/obj/item/stack/tape_roll/New(var/loc, var/amount=null)
|
||||
..()
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/item/stack/tape_roll/attack(mob/living/carbon/human/M as mob, mob/living/user as mob)
|
||||
/obj/item/stack/tape_roll/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(!istype(M)) //What good is a duct tape mask if you are unable to speak?
|
||||
return
|
||||
if(M.wear_mask)
|
||||
to_chat(user, "Remove [M.p_their()] mask first!")
|
||||
else if(amount < 2)
|
||||
to_chat(user, "You'll need more tape for this!")
|
||||
else if(!M.check_has_mouth())
|
||||
to_chat(user, "[M.p_they(TRUE)] [M.p_have()] no mouth to tape over!")
|
||||
else
|
||||
if(M == user)
|
||||
to_chat(user, "You try to tape your own mouth shut.")
|
||||
else
|
||||
to_chat(user, "You try to tape [M]'s mouth shut.")
|
||||
M.visible_message("<span class='warning'>[user] tries to tape [M]'s mouth closed!</span>")
|
||||
if(do_after(user, 50, target = M))
|
||||
if(M == user)
|
||||
to_chat(user, "You cover your own mouth with a piece of duct tape.")
|
||||
else
|
||||
to_chat(user, "You cover [M]'s mouth with a piece of duct tape. That will shut [M.p_them()] up!")
|
||||
M.visible_message("<span class='warning'>[user] tapes [M]'s mouth shut!</span>")
|
||||
var/obj/item/clothing/mask/muzzle/G = new /obj/item/clothing/mask/muzzle/tapegag
|
||||
M.equip_to_slot(G, slot_wear_mask)
|
||||
G.add_fingerprint(user)
|
||||
amount = amount - 2
|
||||
if(amount <= 0)
|
||||
user.unEquip(src, 1)
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
/* -- Disabled for now until it has a use --
|
||||
/obj/item/stack/tape_roll/attack_self(mob/user as mob)
|
||||
to_chat(user, "You remove a length of tape from [src].")
|
||||
|
||||
var/obj/item/ducttape/tape = new()
|
||||
user.put_in_hands(tape)
|
||||
*/
|
||||
|
||||
/obj/item/stack/tape_roll/proc/stick(var/obj/item/W, mob/user)
|
||||
if(!istype(W, /obj/item/paper))
|
||||
return
|
||||
|
||||
user.unEquip(W)
|
||||
var/obj/item/ducttape/tape = new(get_turf(src))
|
||||
tape.attach(W)
|
||||
user.put_in_hands(tape)
|
||||
if(amount < 2)
|
||||
to_chat(user, "You'll need more tape for this!")
|
||||
return
|
||||
if(!M.check_has_mouth())
|
||||
to_chat(user, "[M.p_they(TRUE)] [M.p_have()] no mouth to tape over!")
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] is taping [M]'s mouth closed!</span>",
|
||||
"<span class='notice'>You try to tape [M == user ? "your own" : "[M]'s"] mouth shut!</span>",
|
||||
"<span class='warning'>You hear tape ripping.</span>")
|
||||
if(!do_after(user, 50, target = M))
|
||||
return
|
||||
if(!use(2))
|
||||
to_chat(user, "<span class='notice'>You don't have enough tape!</span>")
|
||||
return
|
||||
if(M.wear_mask)
|
||||
to_chat(user, "<span class='notice'>[M == user ? user : M]'s mouth is already covered!</span>")
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] tapes [M]'s mouth shut!</span>",
|
||||
"<span class='notice'>You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]</span>")
|
||||
var/obj/item/clothing/mask/muzzle/G = new /obj/item/clothing/mask/muzzle/tapegag
|
||||
M.equip_to_slot(G, slot_wear_mask)
|
||||
G.add_fingerprint(user)
|
||||
|
||||
/obj/item/stack/tape_roll/update_icon()
|
||||
var/amount = get_amount()
|
||||
@@ -71,73 +54,4 @@
|
||||
icon_state = "taperoll-4"
|
||||
else
|
||||
icon_state = "taperoll-4"
|
||||
|
||||
/obj/item/ducttape
|
||||
name = "tape"
|
||||
desc = "A piece of sticky tape."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "tape"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
layer = 4
|
||||
anchored = 1 //it's sticky, no you cant move it
|
||||
|
||||
var/obj/item/stuck = null
|
||||
|
||||
/obj/item/ducttape/New()
|
||||
..()
|
||||
flags |= NOBLUDGEON
|
||||
|
||||
/obj/item/ducttape/examine(mob/user)
|
||||
return stuck.examine(user)
|
||||
|
||||
/obj/item/ducttape/proc/attach(var/obj/item/W)
|
||||
stuck = W
|
||||
W.forceMove(src)
|
||||
icon_state = W.icon_state + "_taped"
|
||||
name = W.name + " (taped)"
|
||||
overlays = W.overlays
|
||||
|
||||
/obj/item/ducttape/attack_self(mob/user)
|
||||
if(!stuck)
|
||||
return
|
||||
|
||||
to_chat(user, "You remove \the [initial(name)] from [stuck].")
|
||||
|
||||
user.unEquip(src)
|
||||
stuck.forceMove(get_turf(src))
|
||||
user.put_in_hands(stuck)
|
||||
stuck = null
|
||||
overlays = null
|
||||
qdel(src)
|
||||
|
||||
/obj/item/ducttape/afterattack(var/A, mob/user, flag, params)
|
||||
if(!in_range(user, A) || istype(A, /obj/machinery/door) || !stuck)
|
||||
return
|
||||
|
||||
var/turf/target_turf = get_turf(A)
|
||||
var/turf/source_turf = get_turf(user)
|
||||
|
||||
var/dir_offset = 0
|
||||
if(target_turf != source_turf)
|
||||
dir_offset = get_dir(source_turf, target_turf)
|
||||
if(!(dir_offset in cardinal))
|
||||
to_chat(user, "You cannot reach that from here.")// can only place stuck papers in cardinal directions, to
|
||||
return // reduce papers around corners issue.
|
||||
|
||||
user.unEquip(src)
|
||||
forceMove(source_turf)
|
||||
|
||||
if(params)
|
||||
var/list/mouse_control = params2list(params)
|
||||
if(mouse_control["icon-x"])
|
||||
pixel_x = text2num(mouse_control["icon-x"]) - 16
|
||||
if(dir_offset & EAST)
|
||||
pixel_x += 32
|
||||
else if(dir_offset & WEST)
|
||||
pixel_x -= 32
|
||||
if(mouse_control["icon-y"])
|
||||
pixel_y = text2num(mouse_control["icon-y"]) - 16
|
||||
if(dir_offset & NORTH)
|
||||
pixel_y += 32
|
||||
else if(dir_offset & SOUTH)
|
||||
pixel_y -= 32
|
||||
|
||||
@@ -368,6 +368,7 @@
|
||||
else
|
||||
icon_state = "[initial(icon_state)][ratio]"
|
||||
update_torch()
|
||||
..()
|
||||
|
||||
/obj/item/weldingtool/process()
|
||||
switch(welding)
|
||||
|
||||
@@ -91,9 +91,6 @@
|
||||
O.unwield(user)
|
||||
return unwield(user)
|
||||
|
||||
/obj/item/twohanded/update_icon()
|
||||
return
|
||||
|
||||
/obj/item/twohanded/attack_self(mob/user)
|
||||
..()
|
||||
if(wielded) //Trying to unwield it
|
||||
@@ -182,6 +179,7 @@
|
||||
|
||||
/obj/item/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons.
|
||||
icon_state = "fireaxe[wielded]"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/fireaxe/afterattack(atom/A, mob/user, proximity)
|
||||
if(!proximity)
|
||||
@@ -232,6 +230,7 @@
|
||||
else
|
||||
icon_state = "dualsaber0"
|
||||
set_light(0)
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/dualsaber/attack(mob/target, mob/living/user)
|
||||
if(HULK in user.mutations)
|
||||
@@ -327,6 +326,7 @@
|
||||
icon_state = "spearbomb[wielded]"
|
||||
else
|
||||
icon_state = "spearglass[wielded]"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/spear/afterattack(atom/movable/AM, mob/user, proximity)
|
||||
if(!proximity)
|
||||
@@ -509,6 +509,7 @@
|
||||
icon_state = "chainsaw[wielded]"
|
||||
else
|
||||
icon_state = "chainsaw0"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/chainsaw/attack(mob/target, mob/living/user)
|
||||
if(wielded)
|
||||
@@ -565,6 +566,7 @@
|
||||
|
||||
/obj/item/twohanded/singularityhammer/update_icon() //Currently only here to fuck with the on-mob icons.
|
||||
icon_state = "mjollnir[wielded]"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder)
|
||||
for(var/atom/movable/X in orange(5, pull))
|
||||
@@ -640,6 +642,7 @@
|
||||
|
||||
/obj/item/twohanded/mjollnir/update_icon() //Currently only here to fuck with the on-mob icons.
|
||||
icon_state = "mjollnir[wielded]"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/knighthammer
|
||||
name = "singuloth knight's hammer"
|
||||
@@ -670,6 +673,7 @@
|
||||
|
||||
/obj/item/twohanded/knighthammer/update_icon() //Currently only here to fuck with the on-mob icons.
|
||||
icon_state = "knighthammer[wielded]"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/knighthammer/afterattack(atom/A, mob/user, proximity)
|
||||
if(!proximity)
|
||||
@@ -725,6 +729,7 @@
|
||||
icon_state = "fireaxe2"
|
||||
else
|
||||
icon_state = "fireaxe0"
|
||||
..()
|
||||
|
||||
/obj/item/twohanded/energizedfireaxe/afterattack(atom/A, mob/user, proximity)
|
||||
if(!proximity)
|
||||
|
||||
Reference in New Issue
Block a user