mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-10 07:37:42 +00:00
Merge pull request #1179 from lyricalpaws/lets-go-mining
Mining balance changes, some new icons, and good stuff.
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user