Merge pull request #1179 from lyricalpaws/lets-go-mining

Mining balance changes, some new icons, and good stuff.
This commit is contained in:
Dahlular
2021-05-23 00:32:26 -06:00
committed by GitHub
18 changed files with 1051 additions and 18 deletions

View File

@@ -0,0 +1,748 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"b" = (
/obj/structure/table/gmushroom/gmushroompoker{
desc = "You have a feeling this was used for more than dining.";
name = "dining table"
},
/obj/item/trash/plate{
pixel_x = 10;
pixel_y = 2
},
/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet{
pixel_x = 16;
pixel_y = 8
},
/obj/structure/light_prism/spectral,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"c" = (
/obj/structure/gmushroomdresser,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"d" = (
/turf/closed/wall/mineral/gmushroom,
/area/ruin/unpowered)
"e" = (
/obj/structure/lewdfountain/lust,
/turf/open/floor/grass/fairy/red,
/area/ruin/unpowered)
"f" = (
/obj/structure/chair/gmushroom{
dir = 8
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"g" = (
/obj/effect/decal/cleanable/femcum,
/obj/effect/decal/cleanable/milk,
/obj/structure/chair/gmushroom{
dir = 8
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"h" = (
/obj/effect/decal/cleanable/semen,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"i" = (
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
"j" = (
/obj/effect/decal/cleanable/semen,
/obj/item/dildo/custom,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"k" = (
/obj/item/grown/log/gmushroom,
/turf/open/floor/grass/fairy/purple{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"l" = (
/obj/machinery/door/airlock/cult/friendly,
/obj/structure/fans/tiny/invisible,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"m" = (
/obj/structure/chair/gmushroom{
dir = 4
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"o" = (
/turf/open/floor/grass/fairy/green{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"p" = (
/obj/effect/decal/cleanable/femcum,
/obj/structure/chair/gmushroom{
dir = 4
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"q" = (
/obj/effect/decal/cleanable/femcum,
/obj/structure/bed/gmushroomdogbed,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"s" = (
/obj/structure/light_prism/spectral,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"t" = (
/obj/effect/decal/cleanable/semen,
/obj/item/fleshlight,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"u" = (
/obj/effect/mapping_helpers/no_lava,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"v" = (
/obj/structure/flora/redgrass/redg,
/turf/open/floor/grass/fairy/purple{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"w" = (
/obj/effect/decal/cleanable/semen,
/obj/structure/table/gmushroom/gmushroompoker{
desc = "You have a feeling this was used for more than dining.";
name = "dining table"
},
/obj/item/trash/plate{
pixel_x = 10;
pixel_y = 2
},
/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom{
pixel_x = 9;
pixel_y = 4
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"x" = (
/obj/effect/decal/cleanable/femcum,
/obj/structure/table/gmushroom/gmushroompoker{
desc = "You have a feeling this was used for more than dining.";
name = "dining table"
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"y" = (
/obj/structure/flora/gmushroom/gggmushroom{
desc = "Mushroom! We're rich!"
},
/obj/effect/mapping_helpers/no_lava,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"z" = (
/obj/effect/decal/cleanable/femcum,
/obj/structure/chair/gmushroom{
dir = 8
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"A" = (
/obj/effect/decal/cleanable/femcum,
/obj/item/portallight,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"B" = (
/obj/structure/gmushroom/gmushroomstump,
/turf/open/floor/grass/fairy/green{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"C" = (
/obj/structure/reagent_dispensers/keg/aphro,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"D" = (
/obj/structure/bonfire/prelit,
/turf/open/floor/grass/fairy/purple{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"E" = (
/obj/structure/table/gmushroom/gmushroompoker{
desc = "You have a feeling this was used for more than dining.";
name = "dining table"
},
/obj/item/trash/plate{
pixel_x = -10;
pixel_y = 2
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"F" = (
/obj/structure/reagent_dispensers/keg/aphro/strong,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"G" = (
/obj/structure/table/gmushroom/gmushroompoker{
desc = "You have a feeling this was used for more than dining.";
name = "dining table"
},
/obj/item/trash/plate{
pixel_x = -10;
pixel_y = 2
},
/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita{
pixel_x = -10;
pixel_y = 7
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"I" = (
/obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"J" = (
/obj/structure/flora/gmushroom/gggmushroom{
desc = "Mushroom! We're rich!"
},
/obj/effect/decal/remains/human{
desc = "He ate the popeyes biscuit with no drink...";
name = "Dusty Remains"
},
/turf/open/floor/grass/fairy/blue{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"K" = (
/obj/item/dildo/custom,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"L" = (
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"M" = (
/obj/effect/decal/cleanable/femcum,
/obj/item/portalpanties,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"N" = (
/obj/effect/decal/cleanable/milk,
/obj/structure/light_prism/spectral,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"O" = (
/obj/effect/decal/cleanable/femcum,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"P" = (
/obj/structure/flora/gmushroom/gggmushroom{
desc = "Mushroom! We're rich!"
},
/turf/open/floor/grass/fairy/purple{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"Q" = (
/obj/structure/flora/redgrass/redg,
/turf/open/floor/grass/fairy/green{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"S" = (
/obj/structure/flora/gmushroom/gggmushroom{
desc = "Mushroom! We're rich!"
},
/turf/open/floor/grass/fairy/blue{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"T" = (
/turf/open/floor/grass/fairy/blue{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"U" = (
/obj/item/fleshlight,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"V" = (
/turf/open/floor/grass/fairy/purple{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"W" = (
/obj/item/grown/log/gmushroom,
/turf/open/floor/grass/fairy/green{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"X" = (
/obj/effect/decal/cleanable/semen,
/obj/structure/chair/gmushroom{
dir = 4
},
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
"Y" = (
/obj/structure/flora/gmushroom/gggmushroom{
desc = "Mushroom! We're rich!"
},
/turf/open/floor/grass/fairy/green{
initial_gas_mix = "o2=14;n2=23;TEMP=300";
planetary_atmos = 1
},
/area/lavaland/surface/outdoors)
"Z" = (
/obj/item/dildo/flared/gigantic,
/turf/open/floor/gmushroom,
/area/ruin/unpowered)
(1,1,1) = {"
i
i
i
i
u
u
T
i
i
i
u
u
u
i
i
i
u
i
i
i
"}
(2,1,1) = {"
i
i
i
u
S
T
V
P
V
T
P
V
u
V
i
o
Q
u
i
i
"}
(3,1,1) = {"
i
S
i
V
V
o
v
T
T
V
V
T
V
V
T
Y
o
o
S
u
"}
(4,1,1) = {"
i
V
T
V
V
o
o
o
T
P
V
V
V
P
V
V
o
o
V
u
"}
(5,1,1) = {"
u
V
T
P
V
o
P
V
V
V
V
Q
o
o
V
o
o
Y
V
V
"}
(6,1,1) = {"
V
v
T
V
o
V
V
V
Q
o
V
Y
o
o
P
Q
o
T
T
v
"}
(7,1,1) = {"
V
S
T
o
o
Q
o
o
V
V
o
o
o
o
V
o
o
o
V
V
"}
(8,1,1) = {"
i
i
i
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
V
S
"}
(9,1,1) = {"
i
i
d
d
d
C
N
L
L
j
L
U
L
L
N
L
q
d
V
V
"}
(10,1,1) = {"
i
d
d
d
F
L
K
A
m
m
X
m
p
m
L
U
Z
d
u
V
"}
(11,1,1) = {"
i
d
d
e
L
h
I
K
G
x
b
E
G
w
O
L
h
l
o
u
"}
(12,1,1) = {"
i
d
d
d
F
L
K
M
f
f
g
f
f
z
h
U
Z
d
o
u
"}
(13,1,1) = {"
i
i
d
d
d
C
s
h
L
L
t
L
j
L
s
L
c
d
o
V
"}
(14,1,1) = {"
i
T
o
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
Y
v
"}
(15,1,1) = {"
T
J
T
Q
o
o
o
o
Y
o
o
o
o
W
o
o
o
Q
V
V
"}
(16,1,1) = {"
i
V
T
T
T
o
S
V
V
V
V
B
V
D
V
V
o
o
o
u
"}
(17,1,1) = {"
i
o
o
P
o
T
T
v
V
T
v
T
o
k
V
V
o
P
V
u
"}
(18,1,1) = {"
i
V
V
u
T
V
u
V
T
T
S
V
v
V
V
u
V
V
i
S
"}
(19,1,1) = {"
V
P
T
T
u
S
V
u
i
T
u
i
i
u
u
u
u
i
i
i
"}
(20,1,1) = {"
V
u
T
u
u
T
T
u
i
i
i
i
i
i
y
i
u
i
i
i
"}

View File

@@ -3319,7 +3319,7 @@
"jJq" = (/obj/machinery/door/poddoor/shutters/preopen{id = "robotics2"; name = "robotics lab shutters"},/obj/effect/spawner/structure/window,/obj/machinery/door/poddoor/shutters/preopen{id = "robotics2"; name = "robotics lab shutters"},/turf/open/floor/plating,/area/science/robotics/lab)
"jJs" = (/obj/item/reagent_containers/food/snacks/grown/poppy,/turf/open/floor/carpet,/area/chapel/main)
"jJv" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/button/door{id = "Disposal Exit 2"; name = "Disposal Exit Vent Control"; pixel_x = 25; pixel_y = -5; req_access_txt = "12"},/obj/machinery/button/massdriver{id = "Disposal Exit 1"; name = "Disposal Bay Vent Control"; pixel_x = 25; pixel_y = 4},/turf/open/floor/plasteel/dark,/area/maintenance/disposal)
"jJF" = (/obj/structure/table/wood,/obj/item/nullrod,/turf/open/floor/plasteel/grimy,/area/chapel/office)
"jJF" = (/obj/structure/table/wood,/obj/item/nullrod,/obj/item/book/granter/spell/smoke{name = "Mysterious Old Book of Cloud-Chasing"},/turf/open/floor/plasteel/grimy,/area/chapel/office)
"jKa" = (/obj/structure/closet/firecloset,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/misc_lab)
"jKd" = (/obj/machinery/door/airlock/maintenance{name = "Law Office Maintenance"; req_access_txt = "38"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plating,/area/lawoffice)
"jKu" = (/obj/structure/table,/obj/item/camera_film,/obj/item/camera,/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{name = "air scrubber"},/turf/open/floor/plasteel,/area/crew_quarters/fitness)

View File

@@ -731,3 +731,11 @@
//
///from datum/action/cyborg_small_sprite and sends when a cyborg changes modules
#define COMSIG_CYBORG_MODULE_CHANGE "cyborg_module_change"
/* Attack signals. They should share the returned flags, to standardize the attack chain. */
/// tool_act -> pre_attack -> target.attackby (item.attack) -> afterattack
///Ends the attack chain. If sent early might cause posterior attacks not to happen.
#define COMPONENT_CANCEL_ATTACK_CHAIN (1<<0)
///Skips the specific attack step, continuing for the next one to happen.
#define COMPONENT_SKIP_ATTACK (1<<1)

View File

@@ -89,6 +89,12 @@
description = "When you get what they have, then you'll finally be happy."
suffix = "lavaland_surface_envy.dmm"
/datum/map_template/ruin/lavaland/sin/lust
name = "Ruin of Lust"
id = "lust"
description = "Get your rocks off, even if it costs your soul."
suffix = "lavaland_surface_lust.dmm"
/datum/map_template/ruin/lavaland/sin/gluttony
name = "Ruin of Gluttony"
id = "gluttony"

View File

@@ -11,7 +11,7 @@
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/head/hardhat/weldhat/white(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow/ce(src)
new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/tank/jetpack/suit(src)
new /obj/item/cartridge/ce(src)

View File

@@ -10,6 +10,20 @@
var/can_be_cut = 1
price = 10
/obj/item/clothing/gloves/color/yellow/ce //funky looking, basically combat gloves
desc = "Special Insulated gloves with pricy thermal shielding normally only found in combat gloves."
name = "Chief Engineer Insulated Gloves"
icon_state = "ce_insuls"
item_state = "combat"
siemens_coefficient = 0
permeability_coefficient = 0.05
strip_delay = 80
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
/obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap knockoffs of the coveted ones - no way this can end badly."
name = "budget insulated gloves"

View File

@@ -406,6 +406,36 @@ Contains:
icon_state = "hardsuit0-beserker"
item_state = "hardsuit0-beserker"
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/miner
name = "inquisitor's hardsuit"
icon_state = "hardsuit-inq"
item_state = "hardsuit-inq"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor/miner
armor = list("melee" = 70, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 60, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
slowdown = 1
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor/miner
name = "inquisitor's helmet"
icon_state = "hardsuit0-inq"
item_state = "hardsuit0-inq"
armor = list("melee" = 70, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 60, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/miner
name = "champion's hardsuit"
desc = "Voices echo from the hardsuit, driving the user insane."
icon_state = "hardsuit-beserker"
item_state = "hardsuit-beserker"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/beserker/miner
armor = list("melee" = 70, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 60, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
slowdown = 1
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/beserker/miner
name = "champion's helmet"
desc = "Peering into the eyes of the helmet is enough to seal damnation."
icon_state = "hardsuit0-beserker"
item_state = "hardsuit0-beserker"
armor = list("melee" = 70, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 60, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80)
/obj/item/clothing/head/helmet/space/fragile
name = "emergency space helmet"
desc = "A bulky, air-tight helmet meant to protect the user during emergency situations. It doesn't look very durable."

View File

@@ -58,7 +58,7 @@
if(inert)
to_chat(owner, "<span class='notice'>[src] breaks down as it tries to activate.</span>")
else
owner.revive(full_heal = 1)
owner.legion_heal()
qdel(src)
/obj/item/organ/regenerative_core/on_life()
@@ -78,12 +78,13 @@
to_chat(user, "<span class='notice'>[src] are useless on the dead.</span>")
return
if(H != user)
H.visible_message("[user] forces [H] to apply [src]... they quickly regenerate all injuries!")
H.visible_message("<span class='warning'>[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()].</span>")
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
else
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.</span>")
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?</span>")
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
H.revive(full_heal = 1)
H.legion_heal()
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "legion", /datum/mood_event/healsbadman)
qdel(src)
/obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)

View File

@@ -18,7 +18,7 @@
if(2)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
if(3)
new /obj/item/soulstone/anybody(src)
new /obj/item/nullrod(src)
if(4)
new /obj/item/katana/cursed(src)
if(5)
@@ -39,7 +39,7 @@
if(11)
new /obj/item/ship_in_a_bottle(src)
if(12)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/miner(src)
if(13)
new /obj/item/jacobs_ladder(src)
if(14)
@@ -60,14 +60,14 @@
if(20)
new /obj/item/immortality_talisman(src)
if(21)
new /obj/item/gun/magic/hook(src)
new /obj/item/gun/medbeam(src)
if(22)
new /obj/item/voodoo(src)
new /obj/item/circuitboard/machine/plantgenes/vault
if(23)
new /obj/item/grenade/clusterbuster/inferno(src)
new /obj/item/grenade/clusterbuster/soap(src)
if(24)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/miner(src)
if(25)
new /obj/item/book/granter/spell/summonitem(src)
if(26)
@@ -77,6 +77,8 @@
new /obj/item/bedsheet/cult(src)
if(28)
new /obj/item/clothing/neck/necklace/memento_mori(src)
// if(29)
// new /obj/item/clothing/gloves/gauntlets(src)
//KA modkit design discs
/obj/item/disk/design_disk/modkit_disc
@@ -1423,3 +1425,43 @@
attack_self(user)
return
..()
//Concussive Gauntlets
/obj/item/clothing/gloves/gauntlets
name = "concussive gauntlets"
desc = "Pickaxes... for your hands!"
icon_state = "concussive_gauntlets"
item_state = "concussive_gauntlets"
toolspeed = 0.1
strip_delay = 40
equip_delay_other = 20
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = LAVA_PROOF | FIRE_PROOF //they are from lavaland after all
armor = list("melee" = 15, "bullet" = 25, "laser" = 15, "energy" = 15, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) //mostly bone bracer armor
/obj/item/clothing/gloves/gauntlets/equipped(mob/user, slot)
. = ..()
if(slot == ITEM_SLOT_GLOVES)
tool_behaviour = TOOL_MINING
RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/rocksmash)
RegisterSignal(user, COMSIG_MOVABLE_BUMP, .proc/rocksmash)
else
stopmining(user)
/obj/item/clothing/gloves/gauntlets/dropped(mob/user)
. = ..()
stopmining(user)
/obj/item/clothing/gloves/gauntlets/proc/stopmining(mob/user)
tool_behaviour = initial(tool_behaviour)
UnregisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK)
UnregisterSignal(user, COMSIG_MOVABLE_BUMP)
/obj/item/clothing/gloves/gauntlets/proc/rocksmash(mob/living/carbon/human/H, atom/A, proximity)
if(!istype(A, /turf/closed/mineral))
return
A.attackby(src, H)
return COMPONENT_CANCEL_ATTACK_CHAIN

View File

@@ -544,6 +544,20 @@
O.setOrganDamage(0)
SEND_SIGNAL(src, COMSIG_LIVING_FULLY_HEAL, admin_revive)
//fuck shitcode I hate shitcode
/mob/living/proc/legion_heal()
restore_blood()
setStaminaLoss(0, 0)
SetUnconscious(0, FALSE)
SetStun(0, FALSE)
SetKnockdown(0, FALSE)
SetSleeping(0, FALSE)
bodytemperature = BODYTEMP_NORMAL
heal_overall_damage(INFINITY, INFINITY, INFINITY, FALSE, FALSE, TRUE) //heal brute and burn dmg on both organic and robotic limbs, and update health right away.
ExtinguishMob()
fire_stacks = 0
update_canmove()
SEND_SIGNAL(src, COMSIG_LIVING_FULLY_HEAL)
//proc called by revive(), to check if we can actually ressuscitate the mob (we don't want to revive him and have him instantly die again)
/mob/living/proc/can_be_revived()

View File

@@ -269,7 +269,7 @@
H.dna.add_mutation(DWARFISM)
/obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize()
var/type = pickweight(list("Miner" = 66, "Ashwalker" = 10, "Golem" = 10,"Clown" = 10, pick(list("Shadow", "YeOlde","Operative", "Cultist", "Lavaknight")) = 4)) //CIT CHANGE: Lavaknights
var/type = pickweight(list("Miner" = 66, "Ashwalker" = 10, "Golem" = 10,"Clown" = 10, pick(list("Shadow", "YeOlde", "Cultist", "Lavaknight")) = 4)) //CIT CHANGE: Lavaknights
switch(type)
if("Miner")
mob_species = pickweight(list(/datum/species/human = 70, /datum/species/lizard = 26, /datum/species/fly = 2, /datum/species/plasmaman = 2))
@@ -346,9 +346,6 @@
belt = /obj/item/nullrod/claymore
r_pocket = /obj/item/tank/internals/emergency_oxygen
mask = /obj/item/clothing/mask/breath
if("Operative")
id_job = "Operative"
outfit = /datum/outfit/syndicatecommandocorpse
if("Shadow")
mob_species = /datum/species/shadow
r_pocket = /obj/item/reagent_containers/pill/shadowtoxin

View File

@@ -142,3 +142,19 @@ Slimecrossing Armor
return TRUE
else
return FALSE
/obj/structure/light_prism/spectral
name = "spectral light prism"
desc = "You could barely see this, huh!"
icon = 'icons/obj/slimecrossing.dmi'
icon_state = ""
density = FALSE
anchored = TRUE
max_integrity = 10
var/newcolor = "#ff66ff"
/obj/structure/light_prism/Initialize(mapload, var/newcolor)
. = ..()
color = newcolor
light_color = newcolor
set_light(5)

View File

@@ -144,3 +144,154 @@
user.size_multiplier = H.size_multiplier
user.visible_message("<span class='warning'>[user]'s appearance shifts into [H]'s!</span>", \
"<span class='boldannounce'>[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] <i>sooo</i> much better than you. Not anymore, [H.p_they()] won't.</span>")
/obj/item/reagent_containers/chalice
name = "Curse of Lust"
desc = "You shouldn't see this! If you do, tell the gods something is wrong."
icon = 'icons/obj/drinks.dmi'
icon_state = "cumchalice"
/obj/item/reagent_containers/chalice/lust
name = "Golden Chalice of Lust"
desc = "A beautiful golden chalice, centered with a gleaming pink jewel of unknown origin. It is still slightly damp with aphrodisiac. It smells faintly of strawberries and roofies."
icon = 'icons/obj/drinks.dmi'
icon_state = "cumchalice"
w_class = WEIGHT_CLASS_SMALL
force = 1
throwforce = 1
amount_per_transfer_from_this = 5
volume = 15
flags_1 = CONDUCT_1
spillable = TRUE
resistance_flags = INDESTRUCTIBLE
reagent_flags = AMOUNT_VISIBLE
/obj/item/reagent_containers/chalice/lust/Initialize() //just in case
beaker_weakness_bitflag &= ~PH_WEAK
. = ..()
/obj/item/reagent_containers/chalice/lust/attack_self(mob/living/carbon/human/user)
var/thecostofhorny = 0
var/truecostofhorny = 0
var/choicechem = /datum/reagent/water
var/choice = "Water"
var/free = src.reagents.maximum_volume - src.reagents.total_volume
if(free <= 0)
return
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
choice = input(user, "Go ahead, pick your poison~", "Boon of Lust") as null|anything in list("Crocin", "Hexacrocin","Succubus Milk", "Incubus Draft", "Prospacillin", "Diminicillin", "Semen", "Femcum", "Milk", "Alien Honey")
switch(choice)
if("Crocin")
choicechem = /datum/reagent/drug/aphrodisiac
thecostofhorny = 5
if("Hexacrocin")
choicechem = /datum/reagent/drug/aphrodisiacplus
thecostofhorny = 5
if("Succubus Milk")
choicechem = /datum/reagent/fermi/breast_enlarger
thecostofhorny = 5
if("Incubus Draft")
choicechem = /datum/reagent/fermi/penis_enlarger
thecostofhorny = 5
if("Prospacillin")
choicechem = /datum/reagent/growthchem
thecostofhorny = 40 //Rare chem, should be very expensive
if("Diminicillin")
choicechem = /datum/reagent/shrinkchem
thecostofhorny = 40 //Rare chem, should be very expensive
if("Semen")
choicechem = /datum/reagent/consumable/semen
thecostofhorny = 1
if("Femcum")
choicechem = /datum/reagent/consumable/femcum
thecostofhorny = 1
if("Milk")
choicechem = /datum/reagent/consumable/milk
thecostofhorny = 3 //fuck you chef
if("Alien Honey")
choicechem = /datum/reagent/consumable/alienhoney
thecostofhorny = 1
var/makechems = alert(user, "Are you sure you want to make [choice]?", "Boon of Lust", "Yes", "No")
switch(makechems)
if("Yes")
src.reagents.add_reagent(choicechem, 5)
truecostofhorny = (thecostofhorny*user.size_multiplier)
user.adjustCloneLoss(truecostofhorny, 1)
user.adjustArousalLoss(100, 1)
to_chat(user, "<span class='userdanger'>You feel part of your body ripped from you violently, before the beaker fills itself with [choice].</span>")
if("No")
return
/obj/item/reagent_containers/chalice/lust/attack(mob/M, mob/user, obj/target)
if(!canconsume(M, user))
return
if(!spillable)
return
if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='warning'>[src] is empty!</span>")
return
if(istype(M))
if(user.a_intent == INTENT_HARM)
M.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [M]!</span>", \
"<span class='userdanger'>[user] splashes the contents of [src] onto [M]!</span>")
var/R = reagents?.log_list()
if(isturf(target) && reagents.reagent_list.len && thrownby)
log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]")
message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].")
reagents.reaction(M, TOUCH)
log_combat(user, M, "splashed", R)
reagents.clear_reagents()
else
if(M != user)
M.visible_message("<span class='danger'>[user] attemped to feed something to [M], but failed!</span>")
return
else
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
var/fraction = min(5/reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
/obj/structure/lewdfountain
name = "Lewd Fountain"
desc = "You shouldn't see this!"
icon = 'icons/obj/hand_of_god_structures.dmi'
icon_state = "fountain"
anchored = TRUE
density = TRUE
/obj/structure/lewdfountain/lust
name = "fountain of lust"
desc = "A beautiful hand carved fountain, with a carved golden cup atop it. The cup seems to be constantly overflowing with a pink fluid that smells like liquid desire. Just looking at it makes you turned on."
icon = 'icons/obj/hand_of_god_structures.dmi'
icon_state = "fountain"
anchored = TRUE
density = TRUE
var/chalice_taken = 0
/obj/structure/lewdfountain/lust/attack_hand(mob/living/user)
. = ..()
if(.)
return
if(chalice_taken == 1)
to_chat(user, "<i>You hear a voice in your head... <b>\"My chalice has already been taken, dear. I cannot give you another...\"</i></b>")
return
if(user.getArousalLoss() < 100)
to_chat(user, "<i>You hear a voice in your head... <b>\"You are not horny enough to receive my blessing, dear~\"</i></b>")
return
if (ishuman(user) && user.has_dna())
user.mob_climax(forced_climax=TRUE)
to_chat(user, "<i>You hear a voice in your head... <b>\"You are worth of my blessing dear~\"</i></b>")
to_chat(user, "<span class='userdanger'>You feel overpowering pleasure surge through your entire body.</span>")
var/A = new /obj/item/reagent_containers/chalice/lust
user.put_in_hands(A)
chalice_taken = 1

View File

@@ -7,7 +7,7 @@
#_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm
#_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
#_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
#_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
_maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
##RESPAWN
#_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
@@ -21,6 +21,7 @@
#_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
#_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
#_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
#_maps/RandomRuins/LavaRuins/lavaland_surface_lust.dmm
##MISC
#_maps/RandomRuins/LavaRuins/lavaland_surface_automated_trade_outpost.dmm

View File

@@ -16,4 +16,9 @@
/datum/mood_event/deathsaw
description = "<span class='boldwarning'>I saw someone die!</span>\n"
mood_change = -8
timeout = 20 MINUTES //takes a long time to get over
timeout = 20 MINUTES //takes a long time to get over
/datum/mood_event/healsbadman
description = "<span class='warning'>I feel like I'm held together by flimsy string, and could fall apart at any moment!</span>\n"
mood_change = -4
timeout = 2 MINUTES

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB