Merge branch 'master' into upstream-merge-29747
This commit is contained in:
@@ -169,7 +169,7 @@
|
||||
. += "You recognise the footprints as belonging to:\n"
|
||||
for(var/shoe in shoe_types)
|
||||
var/obj/item/clothing/shoes/S = shoe
|
||||
. += "some <B>[initial(S.name)]</B> [bicon(initial(S.icon))]\n"
|
||||
. += "some <B>[initial(S.name)]</B> [icon2html(initial(S.icon), user)]\n"
|
||||
|
||||
to_chat(user, .)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
/obj/effect/mine/proc/triggermine(mob/victim)
|
||||
if(triggered)
|
||||
return
|
||||
visible_message("<span class='danger'>[victim] sets off [bicon(src)] [src]!</span>")
|
||||
visible_message("<span class='danger'>[victim] sets off [icon2html(src, viewers(src))] [src]!</span>")
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
@@ -121,13 +121,13 @@
|
||||
if(!victim.client || !istype(victim))
|
||||
return
|
||||
to_chat(victim, "<span class='reallybig redtext'>RIP AND TEAR</span>")
|
||||
victim << 'sound/misc/e1m1.ogg'
|
||||
SEND_SOUND(victim, sound('sound/misc/e1m1.ogg'))
|
||||
var/old_color = victim.client.color
|
||||
var/red_splash = list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0)
|
||||
var/pure_red = list(0,0,0,0,0,0,0,0,0,1,0,0)
|
||||
|
||||
spawn(0)
|
||||
new /obj/effect/hallucination/delusion(victim.loc,victim,"demon",duration,0)
|
||||
new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0)
|
||||
|
||||
var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc)
|
||||
chainsaw.flags |= NODROP
|
||||
|
||||
@@ -558,7 +558,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
|
||||
if (!silent)
|
||||
playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
audible_message("[bicon(src)] *[ttone]*", null, 3)
|
||||
audible_message("[icon2html(src, hearers(src))] *[ttone]*", null, 3)
|
||||
//Search for holder of the PDA.
|
||||
var/mob/living/L = null
|
||||
if(loc && isliving(loc))
|
||||
@@ -575,7 +575,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
hrefstart = "<a href='?src=\ref[L];track=[html_encode(source.owner)]'>"
|
||||
hrefend = "</a>"
|
||||
|
||||
to_chat(L, "[\bicon(src)] <b>Message from [hrefstart][source.owner] ([source.ownjob])[hrefend], </b>\"[msg.message]\"[msg.get_photo_ref()] (<a href='byond://?src=\ref[src];choice=Message;skiprefresh=1;target=\ref[source]'>Reply</a>)")
|
||||
to_chat(L, "[icon2html(src)] <b>Message from [hrefstart][source.owner] ([source.ownjob])[hrefend], </b>\"[msg.message]\"[msg.get_photo_ref()] (<a href='byond://?src=\ref[src];choice=Message;skiprefresh=1;target=\ref[source]'>Reply</a>)")
|
||||
|
||||
update_icon()
|
||||
add_overlay(icon_alert)
|
||||
|
||||
@@ -88,27 +88,27 @@
|
||||
if(isliving(loc))
|
||||
var/mob/living/M = loc
|
||||
if(!emagged)
|
||||
to_chat(M, "<span class='boldannounce'>[bicon(src)] RADIATION PULSE DETECTED.</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[bicon(src)] Severity: [amount]</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[icon2html(src, M)] RADIATION PULSE DETECTED.</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[icon2html(src, M)] Severity: [amount]</span>")
|
||||
else
|
||||
to_chat(M, "<span class='boldannounce'>[bicon(src)] !@%$AT!(N P!LS! D/TEC?ED.</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[bicon(src)] &!F2rity: <=[amount]#1</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[icon2html(src, M)] !@%$AT!(N P!LS! D/TEC?ED.</span>")
|
||||
to_chat(M, "<span class='boldannounce'>[icon2html(src, M)] &!F2rity: <=[amount]#1</span>")
|
||||
update_icon()
|
||||
|
||||
/obj/item/device/geiger_counter/attack_self(mob/user)
|
||||
scanning = !scanning
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] You switch [scanning ? "on" : "off"] [src].</span>")
|
||||
to_chat(user, "<span class='notice'>[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].</span>")
|
||||
|
||||
/obj/item/device/geiger_counter/attack(mob/living/M, mob/user)
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
if(!emagged)
|
||||
user.visible_message("<span class='notice'>[user] scans [M] with [src].</span>", "<span class='notice'>You scan [M]'s radiation levels with [src]...</span>")
|
||||
if(!M.radiation)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Radiation levels within normal boundaries.</span>")
|
||||
to_chat(user, "<span class='notice'>[icon2html(src, user)] Radiation levels within normal boundaries.</span>")
|
||||
return 1
|
||||
else
|
||||
to_chat(user, "<span class='boldannounce'>[bicon(src)] Subject is irradiated. Radiation levels: [M.radiation].</span>")
|
||||
to_chat(user, "<span class='boldannounce'>[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation].</span>")
|
||||
return 1
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] scans [M] with [src].</span>", "<span class='danger'>You project [src]'s stored radiation into [M]'s body!</span>")
|
||||
|
||||
@@ -147,7 +147,7 @@ MASS SPECTROMETER
|
||||
if (M.getCloneLoss())
|
||||
to_chat(user, "\t<span class='alert'>Subject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.</span>")
|
||||
if (M.reagents && M.reagents.get_reagent_amount("epinephrine"))
|
||||
to_chat(user, "\t<span class='info'>Bloodstream analysis located [M.reagents:get_reagent_amount("epinephrine")] units of rejuvenation chemicals.</span>")
|
||||
to_chat(user, "\t<span class='info'>Bloodstream analysis located [M.reagents.get_reagent_amount("epinephrine")] units of rejuvenation chemicals.</span>")
|
||||
if (M.getBrainLoss() >= 100 || !M.getorgan(/obj/item/organ/brain))
|
||||
to_chat(user, "\t<span class='alert'>Subject brain function is non-existent.</span>")
|
||||
else if (M.getBrainLoss() >= 60)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
desc = "Regulates the transfer of air between two tanks"
|
||||
var/obj/item/weapon/tank/tank_one
|
||||
var/obj/item/weapon/tank/tank_two
|
||||
var/obj/item/device/attached_device
|
||||
var/obj/item/device/assembly/attached_device
|
||||
var/mob/attacher = null
|
||||
var/valve_open = FALSE
|
||||
var/toggle = 1
|
||||
@@ -99,8 +99,8 @@
|
||||
toggle_valve()
|
||||
else if(attached_device)
|
||||
if(href_list["rem_device"])
|
||||
attached_device.loc = get_turf(src)
|
||||
attached_device:holder = null
|
||||
attached_device.forceMove(get_turf(src))
|
||||
attached_device.holder = null
|
||||
attached_device = null
|
||||
update_icon()
|
||||
if(href_list["device"])
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
novariants = FALSE
|
||||
|
||||
GLOBAL_LIST_INIT(human_recipes, list( \
|
||||
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, on_floor = 1), \
|
||||
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/animalhide/human/Initialize(mapload, new_amount, merge = TRUE)
|
||||
@@ -33,7 +33,7 @@ GLOBAL_LIST_INIT(human_recipes, list( \
|
||||
icon_state = "sheet-corgi"
|
||||
|
||||
GLOBAL_LIST_INIT(corgi_recipes, list ( \
|
||||
new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3, on_floor = 1), \
|
||||
new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/animalhide/corgi/Initialize(mapload, new_amount, merge = TRUE)
|
||||
@@ -53,8 +53,8 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \
|
||||
icon_state = "sheet-monkey"
|
||||
|
||||
GLOBAL_LIST_INIT(monkey_recipes, list ( \
|
||||
new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2, on_floor = 1), \
|
||||
new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1), \
|
||||
new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/animalhide/monkey/Initialize(mapload, new_amount, merge = TRUE)
|
||||
@@ -74,8 +74,8 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \
|
||||
icon_state = "sheet-xeno"
|
||||
|
||||
GLOBAL_LIST_INIT(xeno_recipes, list ( \
|
||||
new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2, on_floor = 1), \
|
||||
new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1), \
|
||||
new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/animalhide/xeno/Initialize(mapload, new_amount, merge = TRUE)
|
||||
@@ -161,7 +161,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \
|
||||
|
||||
|
||||
GLOBAL_LIST_INIT(sinew_recipes, list ( \
|
||||
new/datum/stack_recipe("sinew restraints", /obj/item/weapon/restraints/handcuffs/sinew, 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("sinew restraints", /obj/item/weapon/restraints/handcuffs/sinew, 1), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/sinew/Initialize(mapload, new_amount, merge = TRUE)
|
||||
|
||||
@@ -527,7 +527,7 @@
|
||||
return list(pick(messages))
|
||||
|
||||
/obj/item/toy/talking/proc/toy_talk(mob/user, message)
|
||||
user.loc.visible_message("<span class='[span]'>[bicon(src)] [message]</span>")
|
||||
user.loc.visible_message("<span class='[span]'>[icon2html(src, viewers(user.loc))] [message]</span>")
|
||||
if(chattering)
|
||||
chatter(message, phomeme, user)
|
||||
|
||||
@@ -1082,7 +1082,7 @@
|
||||
user.visible_message("<span class='notice'>[user] pulls back the string on [src].</span>")
|
||||
icon_state = "[initial(icon_state)]_used"
|
||||
sleep(5)
|
||||
audible_message("<span class='danger'>[bicon(src)] Hiss!</span>")
|
||||
audible_message("<span class='danger'>[icon2html(src, viewers(src))] Hiss!</span>")
|
||||
var/list/possible_sounds = list('sound/voice/hiss1.ogg', 'sound/voice/hiss2.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss4.ogg')
|
||||
var/chosen_sound = pick(possible_sounds)
|
||||
playsound(get_turf(src), chosen_sound, 50, 1)
|
||||
|
||||
@@ -525,7 +525,7 @@ AI MODULES
|
||||
laws[1] = generate_ion_law()
|
||||
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
|
||||
playsound(user, 'sound/machines/click.ogg', 20, 1)
|
||||
src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
|
||||
src.loc.visible_message("<span class='warning'>[icon2html(src, viewers(loc))] [laws[1]]</span>")
|
||||
|
||||
/******************** Mother Drone ******************/
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
update_label()
|
||||
|
||||
/obj/item/weapon/card/id/attack_self(mob/user)
|
||||
user.visible_message("<span class='notice'>[user] shows you: [bicon(src)] [src.name].</span>", \
|
||||
user.visible_message("<span class='notice'>[user] shows you: [icon2html(src, viewers(user))] [src.name].</span>", \
|
||||
"<span class='notice'>You show \the [src.name].</span>")
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
var/create_full = FALSE
|
||||
var/create_with_tank = FALSE
|
||||
var/igniter_type = /obj/item/device/assembly/igniter
|
||||
trigger_guard = TRIGGER_GUARD_NORMAL
|
||||
|
||||
/obj/item/weapon/flamethrower/Destroy()
|
||||
if(weldtool)
|
||||
@@ -69,12 +70,7 @@
|
||||
if(flag)
|
||||
return // too close
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.dna.check_mutation(HULK))
|
||||
to_chat(user, "<span class='warning'>Your meaty finger is much too large for the trigger guard!</span>")
|
||||
return
|
||||
if(NOGUNS in H.dna.species.species_traits)
|
||||
to_chat(user, "<span class='warning'>Your fingers don't fit in the trigger guard!</span>")
|
||||
if(!can_trigger_gun(user))
|
||||
return
|
||||
if(user && user.get_active_held_item() == src) // Make sure our user is still holding us
|
||||
var/turf/target_turf = get_turf(target)
|
||||
|
||||
@@ -90,8 +90,8 @@
|
||||
desc = "Looks like some cables tied together. Could be used to tie something up."
|
||||
icon_state = "cuff_red"
|
||||
item_state = "coil_red"
|
||||
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
|
||||
materials = list(MAT_METAL=150, MAT_GLASS=75)
|
||||
origin_tech = "engineering=2"
|
||||
breakouttime = 300 //Deciseconds = 30s
|
||||
@@ -145,9 +145,7 @@
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/white
|
||||
icon_state = "cuff_white"
|
||||
item_state = "cuff_white"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
||||
item_state = "coil_white"
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/alien
|
||||
icon_state = "handcuffAlien"
|
||||
@@ -212,7 +210,6 @@
|
||||
name = "zipties"
|
||||
desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
|
||||
icon_state = "cuff_white"
|
||||
item_state = "cuff_white"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
||||
materials = list()
|
||||
@@ -222,6 +219,7 @@
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties/used
|
||||
desc = "A pair of broken zipties."
|
||||
icon_state = "cuff_white_used"
|
||||
item_state = "cuff_white"
|
||||
|
||||
/obj/item/weapon/restraints/handcuffs/cable/zipties/used/attack()
|
||||
return
|
||||
|
||||
@@ -20,12 +20,14 @@
|
||||
var/prev_bloodthirst = HIS_GRACE_SATIATED
|
||||
var/force_bonus = 0
|
||||
|
||||
/obj/item/weapon/his_grace/New()
|
||||
..()
|
||||
/obj/item/weapon/his_grace/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
GLOB.poi_list += src
|
||||
|
||||
/obj/item/weapon/his_grace/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
GLOB.poi_list -= src
|
||||
for(var/mob/living/L in src)
|
||||
L.forceMove(get_turf(src))
|
||||
return ..()
|
||||
|
||||
@@ -320,6 +320,8 @@
|
||||
desc = "Particularly twisted dieties grant gifts of dubious value."
|
||||
icon_state = "arm_blade"
|
||||
item_state = "arm_blade"
|
||||
lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi'
|
||||
flags = ABSTRACT | NODROP
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
sharpness = IS_SHARP
|
||||
|
||||
@@ -209,8 +209,8 @@
|
||||
origin_tech = "combat=7;materials=6"
|
||||
force_string = "INFINITE"
|
||||
|
||||
/obj/item/weapon/melee/supermatter_sword/New()
|
||||
..()
|
||||
/obj/item/weapon/melee/supermatter_sword/Initialize()
|
||||
. = ..()
|
||||
shard = new /obj/machinery/power/supermatter_shard(src)
|
||||
qdel(shard.countdown)
|
||||
shard.countdown = null
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
var/fire_mode = PCANNON_FIREALL
|
||||
var/automatic = FALSE
|
||||
var/clumsyCheck = TRUE
|
||||
trigger_guard = TRIGGER_GUARD_NORMAL
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/CanItemAutoclick()
|
||||
return automatic
|
||||
@@ -37,10 +38,10 @@
|
||||
out += "<span class='notice'>You'll need to get closer to see any more.</span>"
|
||||
return
|
||||
for(var/obj/item/I in loadedItems)
|
||||
out += "<span class='info'>[bicon(I)] It has \the [I] loaded.</span>"
|
||||
out += "<span class='info'>[icon2html(I, user)] It has \the [I] loaded.</span>"
|
||||
CHECK_TICK
|
||||
if(tank)
|
||||
out += "<span class='notice'>[bicon(tank)] It has \the [tank] mounted onto it.</span>"
|
||||
out += "<span class='notice'>[icon2html(tank, user)] It has \the [tank] mounted onto it.</span>"
|
||||
to_chat(user, out.Join("<br>"))
|
||||
|
||||
/obj/item/weapon/pneumatic_cannon/attackby(obj/item/weapon/W, mob/user, params)
|
||||
@@ -108,11 +109,7 @@
|
||||
if(!istype(user) && !target)
|
||||
return
|
||||
var/discharge = 0
|
||||
if(user.dna.check_mutation(HULK))
|
||||
to_chat(user, "<span class='warning'>Your meaty finger is much too large for the trigger guard!</span>")
|
||||
return
|
||||
if(NOGUNS in user.dna.species.species_traits)
|
||||
to_chat(user, "<span class='warning'>Your fingers don't fit in the trigger guard!</span>")
|
||||
if(!can_trigger_gun(user))
|
||||
return
|
||||
if(!loadedItems || !loadedWeightClass)
|
||||
to_chat(user, "<span class='warning'>\The [src] has nothing loaded.</span>")
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
to_chat(user, "<span class='notice'>You'll need to get closer to see any more.</span>")
|
||||
return
|
||||
if(tank)
|
||||
to_chat(user, "<span class='notice'>[bicon(tank)] It has \the [tank] mounted onto it.</span>")
|
||||
to_chat(user, "<span class='notice'>[icon2html(tank, user)] It has \the [tank] mounted onto it.</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/melee/powerfist/attackby(obj/item/weapon/W, mob/user, params)
|
||||
|
||||
@@ -12,31 +12,31 @@
|
||||
|
||||
/obj/item/weapon/sharpener/attackby(obj/item/I, mob/user, params)
|
||||
if(used)
|
||||
to_chat(user, "<span class='notice'>The sharpening block is too worn to use again.</span>")
|
||||
to_chat(user, "<span class='warning'>The sharpening block is too worn to use again!</span>")
|
||||
return
|
||||
if(I.force >= max || I.throwforce >= max)//no esword sharpening
|
||||
to_chat(user, "<span class='notice'>[I] is much too powerful to sharpen further.</span>")
|
||||
to_chat(user, "<span class='warning'>[I] is much too powerful to sharpen further!</span>")
|
||||
return
|
||||
if(requires_sharpness && !I.sharpness)
|
||||
to_chat(user, "<span class='notice'>You can only sharpen items that are already sharp, such as knives.</span>")
|
||||
to_chat(user, "<span class='warning'>You can only sharpen items that are already sharp, such as knives!</span>")
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/melee/transforming/energy))
|
||||
to_chat(user, "<span class='notice'>You don't think \the [I] will be the thing getting modified if you use it on \the [src].</span>")
|
||||
to_chat(user, "<span class='warning'>You don't think \the [I] will be the thing getting modified if you use it on \the [src]!</span>")
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff
|
||||
var/obj/item/weapon/twohanded/TH = I
|
||||
if(TH.force_wielded >= max)
|
||||
to_chat(user, "<span class='notice'>[TH] is much too powerful to sharpen further.</span>")
|
||||
to_chat(user, "<span class='warning'>[TH] is much too powerful to sharpen further!</span>")
|
||||
return
|
||||
if(TH.wielded)
|
||||
to_chat(user, "<span class='notice'>[TH] must be unwielded before it can be sharpened.</span>")
|
||||
to_chat(user, "<span class='warning'>[TH] must be unwielded before it can be sharpened!</span>")
|
||||
return
|
||||
if(TH.force_wielded > initial(TH.force_wielded))
|
||||
to_chat(user, "<span class='notice'>[TH] has already been refined before. It cannot be sharpened further.</span>")
|
||||
to_chat(user, "<span class='warning'>[TH] has already been refined before. It cannot be sharpened further!</span>")
|
||||
return
|
||||
TH.force_wielded = Clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay
|
||||
if(I.force > initial(I.force))
|
||||
to_chat(user, "<span class='notice'>[I] has already been refined before. It cannot be sharpened further.</span>")
|
||||
to_chat(user, "<span class='warning'>[I] has already been refined before. It cannot be sharpened further!</span>")
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] sharpens [I] with [src]!</span>", "<span class='notice'>You sharpen [I], making it much more deadly than before.</span>")
|
||||
I.sharpness = IS_SHARP_ACCURATE
|
||||
@@ -46,6 +46,7 @@
|
||||
name = "worn out [name]"
|
||||
desc = "[desc] At least, it used to."
|
||||
used = 1
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/sharpener/super
|
||||
name = "super whetstone"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/obj/item/weapon
|
||||
var/trigger_guard = TRIGGER_GUARD_NONE
|
||||
|
||||
/obj/item/weapon/banhammer
|
||||
desc = "A banhammer"
|
||||
@@ -77,8 +78,8 @@
|
||||
var/notches = 0 //HOW MANY PEOPLE HAVE BEEN SLAIN WITH THIS BLADE
|
||||
var/obj/item/weapon/disk/nuclear/nuke_disk //OUR STORED NUKE DISK
|
||||
|
||||
/obj/item/weapon/claymore/highlander/New()
|
||||
..()
|
||||
/obj/item/weapon/claymore/highlander/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/weapon/claymore/highlander/Destroy()
|
||||
@@ -540,7 +541,7 @@
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/melee/flyswatter
|
||||
name = "Flyswatter"
|
||||
name = "flyswatter"
|
||||
desc = "Useful for killing insects of all sizes."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "flyswatter"
|
||||
@@ -555,8 +556,8 @@
|
||||
//Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc.
|
||||
var/list/strong_against
|
||||
|
||||
/obj/item/weapon/melee/flyswatter/New()
|
||||
..()
|
||||
/obj/item/weapon/melee/flyswatter/Initialize()
|
||||
. = ..()
|
||||
strong_against = typecacheof(list(
|
||||
/mob/living/simple_animal/hostile/poison/bees/,
|
||||
/mob/living/simple_animal/butterfly,
|
||||
@@ -584,3 +585,8 @@
|
||||
throwforce = 0
|
||||
flags = DROPDEL | ABSTRACT
|
||||
attack_verb = list("bopped")
|
||||
|
||||
/obj/item/weapon/proc/can_trigger_gun(mob/living/user)
|
||||
if(!user.can_use_guns(src))
|
||||
return FALSE
|
||||
return TRUE
|
||||
@@ -12,8 +12,8 @@
|
||||
max_integrity = 150
|
||||
integrity_failure = 50
|
||||
|
||||
/obj/structure/fireaxecabinet/New()
|
||||
..()
|
||||
/obj/structure/fireaxecabinet/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/fireaxecabinet/Destroy()
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
/obj/structure/flora
|
||||
resistance_flags = FLAMMABLE
|
||||
obj_integrity = 150
|
||||
max_integrity = 150
|
||||
anchored = TRUE
|
||||
anchored = 1
|
||||
|
||||
//trees
|
||||
/obj/structure/flora/tree
|
||||
name = "tree"
|
||||
density = TRUE
|
||||
density = 1
|
||||
pixel_x = -16
|
||||
layer = FLY_LAYER
|
||||
var/cut = FALSE
|
||||
@@ -25,7 +26,7 @@
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
|
||||
icon = 'icons/obj/flora/pinetrees.dmi'
|
||||
icon_state = "tree_stump"
|
||||
density = FALSE
|
||||
density = 0
|
||||
pixel_x = -16
|
||||
name += " stump"
|
||||
cut = TRUE
|
||||
@@ -45,14 +46,14 @@
|
||||
|
||||
/obj/structure/flora/tree/pine/Initialize()
|
||||
icon_state = "pine_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/tree/pine/xmas
|
||||
name = "xmas tree"
|
||||
icon_state = "pine_c"
|
||||
|
||||
/obj/structure/flora/tree/pine/xmas/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "pine_c"
|
||||
|
||||
/obj/structure/flora/tree/dead
|
||||
@@ -64,7 +65,7 @@
|
||||
icon_state = "palm1"
|
||||
|
||||
/obj/structure/flora/tree/palm/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = pick("palm1","palm2")
|
||||
pixel_x = 0
|
||||
|
||||
@@ -76,7 +77,7 @@
|
||||
|
||||
/obj/structure/flora/tree/dead/Initialize()
|
||||
icon_state = "tree_[rand(1, 6)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/tree/jungle
|
||||
name = "tree"
|
||||
@@ -88,12 +89,7 @@
|
||||
|
||||
/obj/structure/flora/tree/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 6)]"
|
||||
..()
|
||||
|
||||
/obj/structure/flora/tree/jungle/small
|
||||
pixel_y = 0
|
||||
pixel_x = -32
|
||||
icon = 'icons/obj/flora/jungletreesmall.dmi'
|
||||
. = ..()
|
||||
|
||||
//grass
|
||||
/obj/structure/flora/grass
|
||||
@@ -106,7 +102,7 @@
|
||||
|
||||
/obj/structure/flora/grass/brown/Initialize()
|
||||
icon_state = "snowgrass[rand(1, 3)]bb"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
|
||||
/obj/structure/flora/grass/green
|
||||
@@ -114,14 +110,14 @@
|
||||
|
||||
/obj/structure/flora/grass/green/Initialize()
|
||||
icon_state = "snowgrass[rand(1, 3)]gb"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/grass/both
|
||||
icon_state = "snowgrassall1"
|
||||
|
||||
/obj/structure/flora/grass/both/Initialize()
|
||||
icon_state = "snowgrassall[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
|
||||
//bushes
|
||||
@@ -129,11 +125,11 @@
|
||||
name = "bush"
|
||||
icon = 'icons/obj/flora/snowflora.dmi'
|
||||
icon_state = "snowbush1"
|
||||
anchored = TRUE
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/flora/bush/Initialize()
|
||||
icon_state = "snowbush[rand(1, 6)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
//newbushes
|
||||
|
||||
@@ -145,112 +141,112 @@
|
||||
/obj/structure/flora/ausbushes/Initialize()
|
||||
if(icon_state == "firstbush_1")
|
||||
icon_state = "firstbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/reedbush
|
||||
icon_state = "reedbush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/reedbush/Initialize()
|
||||
icon_state = "reedbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/leafybush
|
||||
icon_state = "leafybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/leafybush/Initialize()
|
||||
icon_state = "leafybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/palebush
|
||||
icon_state = "palebush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/palebush/Initialize()
|
||||
icon_state = "palebush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/stalkybush
|
||||
icon_state = "stalkybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/stalkybush/Initialize()
|
||||
icon_state = "stalkybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/grassybush
|
||||
icon_state = "grassybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/grassybush/Initialize()
|
||||
icon_state = "grassybush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/fernybush
|
||||
icon_state = "fernybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/fernybush/Initialize()
|
||||
icon_state = "fernybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/sunnybush
|
||||
icon_state = "sunnybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/sunnybush/Initialize()
|
||||
icon_state = "sunnybush_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/genericbush
|
||||
icon_state = "genericbush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/genericbush/Initialize()
|
||||
icon_state = "genericbush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/pointybush
|
||||
icon_state = "pointybush_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/pointybush/Initialize()
|
||||
icon_state = "pointybush_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/lavendergrass
|
||||
icon_state = "lavendergrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/lavendergrass/Initialize()
|
||||
icon_state = "lavendergrass_[rand(1, 4)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/ywflowers
|
||||
icon_state = "ywflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/ywflowers/Initialize()
|
||||
icon_state = "ywflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/brflowers
|
||||
icon_state = "brflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/brflowers/Initialize()
|
||||
icon_state = "brflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/ppflowers
|
||||
icon_state = "ppflowers_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/ppflowers/Initialize()
|
||||
icon_state = "ppflowers_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/sparsegrass
|
||||
icon_state = "sparsegrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/sparsegrass/Initialize()
|
||||
icon_state = "sparsegrass_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/ausbushes/fullgrass
|
||||
icon_state = "fullgrass_1"
|
||||
|
||||
/obj/structure/flora/ausbushes/fullgrass/Initialize()
|
||||
icon_state = "fullgrass_[rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants
|
||||
name = "potted plant"
|
||||
@@ -308,10 +304,10 @@
|
||||
desc = "A volcanic rock"
|
||||
icon = 'icons/obj/flora/rocks.dmi'
|
||||
resistance_flags = FIRE_PROOF
|
||||
density = TRUE
|
||||
density = 1
|
||||
|
||||
/obj/structure/flora/rock/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
/obj/structure/flora/rock/pile
|
||||
@@ -319,7 +315,7 @@
|
||||
desc = "A pile of rocks"
|
||||
|
||||
/obj/structure/flora/rock/pile/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
//Jungle grass
|
||||
@@ -333,7 +329,7 @@
|
||||
|
||||
/obj/structure/flora/grass/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 5)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/grass/jungle/b
|
||||
icon_state = "grassb"
|
||||
@@ -348,7 +344,7 @@
|
||||
density = FALSE
|
||||
|
||||
/obj/structure/flora/rock/jungle/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "[initial(icon_state)][rand(1,5)]"
|
||||
|
||||
|
||||
@@ -361,7 +357,7 @@
|
||||
|
||||
/obj/structure/flora/junglebush/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 3)]"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/junglebush/b
|
||||
icon_state = "bushb"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
diff a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm (rejected hunks)
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
/obj/structure/flora/tree/jungle/Initialize()
|
||||
icon_state = "[icon_state][rand(1, 6)]"
|
||||
- ..()
|
||||
+ . = ..()
|
||||
|
||||
//grass
|
||||
/obj/structure/flora/grass
|
||||
@@ -307,7 +307,7 @@
|
||||
density = 1
|
||||
|
||||
/obj/structure/flora/rock/Initialize()
|
||||
- ..()
|
||||
+ . = ..()
|
||||
icon_state = "[icon_state][rand(1,3)]"
|
||||
|
||||
/obj/structure/flora/rock/pile
|
||||
@@ -381,5 +381,5 @@
|
||||
pixel_y = -16
|
||||
|
||||
/obj/structure/flora/rock/pile/largejungle/Initialize()
|
||||
- ..()
|
||||
- icon_state = "[initial(icon_state)][rand(1,3)]"
|
||||
\ No newline at end of file
|
||||
+ . = ..()
|
||||
+ icon_state = "[initial(icon_state)][rand(1,3)]"
|
||||
@@ -85,7 +85,7 @@
|
||||
calculated_projectile_vars = calculate_projectile_angle_and_pixel_offsets(controller, C.mouseParams)
|
||||
|
||||
/obj/machinery/manned_turret/proc/direction_track(mob/user, atom/targeted)
|
||||
if(user.stat != CONSCIOUS)
|
||||
if(user.incapacitated())
|
||||
return
|
||||
setDir(get_dir(src,targeted))
|
||||
user.setDir(dir)
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
/obj/machinery/manned_turret/proc/checkfire(atom/targeted_atom, mob/user)
|
||||
target = targeted_atom
|
||||
if(target == user || target == get_turf(src))
|
||||
if(target == user || user.incapacitated() || target == get_turf(src))
|
||||
return
|
||||
if(world.time < cooldown)
|
||||
if(!warned && world.time > (cooldown - cooldown_duration + rate_of_fire*number_of_shots)) // To capture the window where one is done firing
|
||||
@@ -143,6 +143,8 @@
|
||||
addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper, user), i*rate_of_fire)
|
||||
|
||||
/obj/machinery/manned_turret/proc/fire_helper(mob/user)
|
||||
if(user.incapacitated())
|
||||
return
|
||||
update_positioning() //REFRESH MOUSE TRACKING!!
|
||||
var/turf/targets_from = get_turf(src)
|
||||
if(QDELETED(target))
|
||||
|
||||
@@ -321,6 +321,6 @@
|
||||
icon_state = "direction_bridge"
|
||||
|
||||
/obj/structure/sign/logo
|
||||
name = "station logo"
|
||||
desc = "A sign: SPACE STATION 13."
|
||||
icon_state = "ss13sign-1"
|
||||
name = "nanotrasen logo"
|
||||
desc = "The Nanotrasen corporate logo."
|
||||
icon_state = "ss13sign-1"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
diff a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm (rejected hunks)
|
||||
@@ -326,6 +326,6 @@
|
||||
icon_state = "direction_bridge"
|
||||
|
||||
/obj/structure/sign/logo
|
||||
- name = "station logo"
|
||||
- desc = "A sign: SPACE STATION 13."
|
||||
+ name = "nanotrasen logo"
|
||||
+ desc = "The Nanotrasen corporate logo."
|
||||
icon_state = "nanotrasen_sign1"
|
||||
\ No newline at end of file
|
||||
@@ -2,8 +2,8 @@
|
||||
name = "weapon"
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
|
||||
/obj/item/weapon/New()
|
||||
..()
|
||||
/obj/item/weapon/Initialize()
|
||||
. = ..()
|
||||
if(!hitsound)
|
||||
if(damtype == "fire")
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
|
||||
Reference in New Issue
Block a user