This commit is contained in:
Ghommie
2019-07-15 17:42:47 +02:00
1265 changed files with 32218 additions and 18800 deletions
@@ -230,7 +230,7 @@
desc = "A wing ripped from a watcher. Suitable as a trophy for a kinetic crusher."
icon_state = "watcher_wing"
denied_type = /obj/item/crusher_trophy/watcher_wing
bonus_value = 5
bonus_value = 10
/obj/item/crusher_trophy/watcher_wing/effect_desc()
return "mark detonation to prevent certain creatures from using certain attacks for <b>[bonus_value*0.1]</b> second\s"
+13 -5
View File
@@ -31,7 +31,7 @@
force = 10
throwforce = 7
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL=1000)
/obj/item/pickaxe/silver
@@ -41,6 +41,7 @@
toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
force = 17
materials = list(MAT_SILVER=4000)
/obj/item/pickaxe/diamond
name = "diamond-tipped pickaxe"
@@ -49,6 +50,7 @@
toolspeed = 0.3
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
force = 19
materials = list(MAT_DIAMOND=4000)
/obj/item/pickaxe/drill
name = "mining drill"
@@ -63,9 +65,12 @@
/obj/item/pickaxe/drill/cyborg
name = "cyborg mining drill"
desc = "An integrated electric mining drill."
item_flags = NODROP
flags_1 = NONE
/obj/item/pickaxe/drill/cyborg/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT)
/obj/item/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
icon_state = "diamonddrill"
@@ -75,12 +80,13 @@
/obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version!
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics.
icon_state = "diamonddrill"
toolspeed = 0.2
toolspeed = 0.1
/obj/item/pickaxe/drill/jackhammer
name = "sonic jackhammer"
icon_state = "jackhammer"
item_state = "jackhammer"
w_class = WEIGHT_CLASS_HUGE
toolspeed = 0.1 //the epitome of powertools. extremely fast mining, laughs at puny walls
usesound = 'sound/weapons/sonic_jackhammer.ogg'
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
@@ -97,12 +103,12 @@
slot_flags = ITEM_SLOT_BELT
force = 8
tool_behaviour = TOOL_SHOVEL
toolspeed = 1
toolspeed = 0.1 //Can only dig ash and thats about it, out classed by the picks and drills no more!
usesound = 'sound/effects/shovel_dig.ogg'
throwforce = 4
item_state = "shovel"
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL=50)
materials = list(MAT_METAL=350)
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
sharpness = IS_SHARP
@@ -124,6 +130,8 @@
item_state = "spade"
lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
toolspeed = 0.5
force = 5
throwforce = 7
materials = list(MAT_METAL=50)
w_class = WEIGHT_CLASS_SMALL
+4 -3
View File
@@ -8,10 +8,10 @@
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It does increased damage in low pressure."
w_class = WEIGHT_CLASS_NORMAL
force = 15
force = 18
throwforce = 10
var/burst_time = 30
var/fieldlimit = 4
var/fieldlimit = 6
var/list/fields = list()
var/quick_burst_mod = 0.8
@@ -20,7 +20,8 @@
desc = "An upgraded version of the resonator that can produce more fields at once, as well as having no damage penalty for bursting a resonance field early."
icon_state = "resonator_u"
item_state = "resonator_u"
fieldlimit = 6
force = 20
fieldlimit = 8
quick_burst_mod = 1
/obj/item/resonator/attack_self(mob/user)
@@ -112,7 +112,7 @@ GLOBAL_LIST(labor_sheet_values)
else
if(!(obj_flags & EMAGGED))
Radio.set_frequency(FREQ_SECURITY)
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY, get_spans(), get_default_language())
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY)
to_chat(usr, "<span class='notice'>Shuttle received message and will be sent shortly.</span>")
/obj/machinery/mineral/labor_claim_console/proc/check_auth()
@@ -144,6 +144,11 @@ GLOBAL_LIST(labor_sheet_values)
points += inp.point_value * inp.amount
..()
/obj/machinery/mineral/stacking_machine/laborstacker/attackby(obj/item/I, mob/living/user)
if(istype(I, /obj/item/stack/sheet) && user.canUnEquip(I))
var/obj/item/stack/sheet/inp = I
points += inp.point_value * inp.amount
return ..()
/**********************Point Lookup Console**************************/
/obj/machinery/mineral/labor_points_checker
@@ -143,7 +143,7 @@
//Rod of Asclepius
/obj/item/rod_of_asclepius
name = "Rod of Asclepius"
name = "\improper Rod of Asclepius"
desc = "A wooden rod about the size of your forearm with a snake carved around it, winding it's way up the sides of the rod. Something about it seems to inspire in you the responsibilty and duty to help others."
icon = 'icons/obj/lavaland/artefacts.dmi'
icon_state = "asclepius_dormant"
@@ -189,7 +189,8 @@
activated()
/obj/item/rod_of_asclepius/proc/activated()
item_flags = NODROP | DROPDEL
item_flags = DROPDEL
ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT)
desc = "A short wooden rod with a mystical snake inseparably gripping itself and the rod to your forearm. It flows with a healing energy that disperses amongst yourself and those around you. "
icon_state = "asclepius_active"
activated = TRUE
@@ -222,9 +223,9 @@
to_chat(user, "<span class='warning'>You feel your life being drained by the pendant...</span>")
if(do_after(user, 40, target = user))
to_chat(user, "<span class='notice'>Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die.</span>")
user.add_trait(TRAIT_NODEATH, "memento_mori")
user.add_trait(TRAIT_NOHARDCRIT, "memento_mori")
user.add_trait(TRAIT_NOCRITDAMAGE, "memento_mori")
ADD_TRAIT(user, TRAIT_NODEATH, "memento_mori")
ADD_TRAIT(user, TRAIT_NOHARDCRIT, "memento_mori")
ADD_TRAIT(user, TRAIT_NOCRITDAMAGE, "memento_mori")
icon_state = "memento_mori_active"
active_owner = user
@@ -273,23 +274,12 @@
to_chat(user, "<span class='notice'>You release the wisp. It begins to bob around your head.</span>")
icon_state = "lantern"
wisp.orbit(user, 20)
user.update_sight()
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed")
else
to_chat(user, "<span class='notice'>You return the wisp to the lantern.</span>")
var/mob/target
if(wisp.orbiting)
target = wisp.orbiting.orbiting
wisp.stop_orbit()
wisp.forceMove(src)
if (istype(target))
target.update_sight()
to_chat(target, "<span class='notice'>Your vision returns to normal.</span>")
icon_state = "lantern-blue"
wisp.forceMove(src)
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned")
/obj/item/wisp_lantern/Initialize()
@@ -302,7 +292,7 @@
qdel(wisp)
else
wisp.visible_message("<span class='notice'>[wisp] has a sad feeling for a moment, then it passes.</span>")
..()
return ..()
/obj/effect/wisp
name = "friendly wisp"
@@ -314,6 +304,25 @@
var/sight_flags = SEE_MOBS
var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
/obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit)
. = ..()
if(ismob(thing))
RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight)
var/mob/being = thing
being.update_sight()
to_chat(thing, "<span class='notice'>The wisp enhances your vision.</span>")
/obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits)
. = ..()
if(ismob(orbits.parent))
UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT)
to_chat(orbits.parent, "<span class='notice'>Your vision returns to normal.</span>")
/obj/effect/wisp/proc/update_user_sight(mob/user)
user.sight |= sight_flags
if(!isnull(lighting_alpha))
user.lighting_alpha = min(user.lighting_alpha, lighting_alpha)
//Red/Blue Cubes
/obj/item/warp_cube
name = "blue cube"
@@ -662,7 +671,7 @@
playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000))
/obj/item/melee/transforming/cleaving_saw/clumsy_transform_effect(mob/living/user)
if(user.has_trait(TRAIT_CLUMSY) && prob(50))
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
to_chat(user, "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>")
user.take_bodypart_damage(10)
@@ -781,19 +790,17 @@
var/turf/T = get_turf(src)
var/list/contents = T.GetAllContents()
var/mob/dead/observer/current_spirits = list()
var/list/orbiters = list()
for(var/thing in contents)
var/atom/A = thing
if (A.orbiters)
orbiters += A.orbiters
A.transfer_observers_to(src)
for(var/thing in orbiters)
var/datum/orbit/O = thing
if (isobserver(O.orbiter))
var/mob/dead/observer/G = O.orbiter
ghost_counter++
G.invisibility = 0
current_spirits |= G
for(var/i in orbiters?.orbiters)
if(!isobserver(i))
continue
var/mob/dead/observer/G = i
ghost_counter++
G.invisibility = 0
current_spirits |= G
for(var/mob/dead/observer/G in spirits - current_spirits)
G.invisibility = GLOB.observer_default_invisibility