Lava Dwarves [DNM]#27155
Lava Dwarves [DNM]#27155MMMiracles wants to merge 49 commits intotgstation:masterfrom MMMiracles:shortandstout
Conversation
|
dorf fortress when |
| to_chat(user, "<span class='notice'>You finish cutting into the rock.</span>") | ||
| gets_drilled(user) | ||
| SSblackbox.add_details("pick_used_mining","[P.type]") | ||
| var/obj/item/organ/alcoholvessel/dwarf //check to see if the digger has the dwarf organ for increased mining speed |
There was a problem hiding this comment.
too snowflakey/better method? i dunno.
There was a problem hiding this comment.
Nah, checking for the organ makes sense
There was a problem hiding this comment.
It's cleaner to put it on the species (Species.dig_speed), I would say, then we can have other species dig quicker too (one of the golem types perhaps?)
There was a problem hiding this comment.
yeah but adding even more species vars is excessive
There was a problem hiding this comment.
I think the organ system is a superior way to distinguish species personally as it has more interaction depth and potential
There was a problem hiding this comment.
@optimumtact so you'd rather access a dwarf only organ here? as opposed to a generic variable?
| name = "alcohol stored" | ||
| screen_loc = ui_alcohol_amount | ||
|
|
||
| /obj/screen/dwarf/alcohol_display/proc/update(mob/living/carbon/human/usr) |
There was a problem hiding this comment.
not actually sure how to call this from the organ, seems to work if i call it in-game via vv menu, though.
There was a problem hiding this comment.
You might want to add this to Life() or something.
There was a problem hiding this comment.
It would go in the organ's on_life(), not mob Life()
| owner.adjustFireLoss(-heal_amt) | ||
| owner.adjustOxyLoss(-heal_amt) | ||
| owner.adjustCloneLoss(-heal_amt) | ||
| if(stored_alcohol < 150 > 100 && prob(5)) |
There was a problem hiding this comment.
better way to do this without it being spammy?
There was a problem hiding this comment.
it might work with 100 < alcohol < 150
There was a problem hiding this comment.
or maybe alcohol in 100 to 150 but i'm not too sure
There was a problem hiding this comment.
can you tie it to the alcohol display so like the border or something changes colors [think hunger indicator but with alcohol]
There was a problem hiding this comment.
I could pretty easily do that, if I can figure out how to get the organ to show the UI in the first place.
There was a problem hiding this comment.
Having it on the status bar or little booze counter (ripping off the aliens counter) could work for a more on screen presence.
What if the user is colorblind?
There was a problem hiding this comment.
https://pastebin.com/raw/484ZA43e
I just bullshitted up a non-RNG non-spammy way to do this that may or may not be up to code standards. Honk.
There was a problem hiding this comment.
100 < stored_alcohol < 150
would be preferred
| // BEGIN_INCLUDE | ||
| #include "_maps\basemap.dm" | ||
| #include "_maps\loadallmaps.dm" | ||
| #include "_maps\runtimestation.dm" |
There was a problem hiding this comment.
You should never have to uncheck loadallmaps.dm m9
There was a problem hiding this comment.
It seems to speed up compile/startup time for me.
| skinned_type = /obj/item/stack/sheet/animalhide/human | ||
| brutemod = 0.9 | ||
| coldmod = 0.85 | ||
| punchdamagehigh = 11 |
There was a problem hiding this comment.
this also means higher stunchance, intended?
There was a problem hiding this comment.
Dwarves seem like tough little fuckers, so it seemed appropriate that they hit harder.
There was a problem hiding this comment.
Fistfighting amongst dwarfs is very dangerous, good change
| /datum/species/dwarf/on_species_loss(mob/living/carbon/C, datum/species/old_species) | ||
| ..() | ||
| var/mob/living/carbon/human/H = C | ||
| H.resize = 1.25 |
There was a problem hiding this comment.
Did you test dwarfing -> dwarf mutation -> undwarf -> unmutate? I feel like there may be some resizing issues
There was a problem hiding this comment.
I'm working on getting a new set of limbs for dwarves entirely instead of using resize, so this is just temporary until then. Worst comes and I can't get those, I'll just add a check in the dwarfism mutation for the species.
There was a problem hiding this comment.
They should probably have morphology checks in that case so that non-dwarves aren't stuck with stubby dwarf legs (unless there's a way to somehow subtract the difference) a similar check is attached to monkeys to stop implanting their wrong proportionate bodies onto humans.
|
|
||
| /obj/item/organ/alcoholvessel/prepare_eat() | ||
| var/obj/S = ..() | ||
| S.reagents.add_reagent("ethonal", stored_alcohol/10) |
|
Dwarves vs somewhat orcs (ashwalkers) vs ELVES??(SPOILERS???) |
|
Surely you mean goblins and not orcs |
|
I swear to fucking god if lava dwarves can not build a fuck the world device i will be very disappointed. Also they need their own speites rather than shrunkrn humans. Also they are all named Urist. Have dwarves be able to make adamantine... wait you should add adamantine spires |
|
Surely blacksmithing and brewing will be added to the station, too, right? ...Right? |
| if(ismineralturf(src)) | ||
| to_chat(user, "<span class='notice'>You finish cutting into the rock.</span>") | ||
| gets_drilled(user) | ||
| SSblackbox.add_details("pick_used_mining","[P.type]") |
There was a problem hiding this comment.
I suggest you just add something like var/adjusted_digspeed = (user.getorganslot("dwarf_organ") ? (P.digspeed * 0.5) : P.digspeed) and then just change the do_after. You then will not have to duplicate the check, and I don't see why you defined dwarf as an organ, I think it could have just been an ordinary variable, but maybe I am wrong.
| name = "alcohol stored" | ||
| screen_loc = ui_alcohol_amount | ||
|
|
||
| /obj/screen/dwarf/alcohol_display/proc/update(mob/living/carbon/human/usr) |
There was a problem hiding this comment.
You might want to add this to Life() or something.
| @@ -0,0 +1,38 @@ | |||
| /obj/item/organ/alcoholvessel //essentially the opposite of the xeno's plasmavessel, but with alcohol | |||
| name = "alcoholvessel" | |||
There was a problem hiding this comment.
You definitely want to add this to regenerate_organs()
|
I certainly hope they don't hunt down and kill free golems for their precious adamantine or anything. That would be just terrible. ...For the golems. |
|
aside from top quality references, what will encourage players to pick dwarves over golems since they fill an extremely similar niche? (mining / building new items from said mined material) |
|
Dwarves being a lower tech intermediary i guess, a bit more strapped for materials than the golems who also have the benefit of RnD material duplication & parts. If dwarves & golems can work peacefully it could probably work out well for them both. See references to them forging new objects.
|
| invisibility = 0 | ||
| maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='magenta'>[round(dwarf.stored_alcohol)]</font></div>" | ||
|
|
||
| /obj/screen/dwarf/alcohol_display/proc/remove() |
| /obj/screen/dwarf/alcohol_display/proc/update(mob/living/carbon/human/usr) | ||
| var/mob/living/carbon/human/H = usr | ||
| var/obj/item/organ/alcoholvessel/dwarf | ||
| dwarf = H.getorganslot("dwarf_organ") |
There was a problem hiding this comment.
Ideally this HUD element would only be created if the person was a dwarf (in the organ's Insert() proc)
| ROUNDSTART_RACES lizard | ||
| #ROUNDSTART_RACES fly | ||
| ROUNDSTART_RACES plasmaman | ||
| ROUNDSTART_RACES dwarf |
There was a problem hiding this comment.
Remember to omit this please
|
Can we roleplay as Chaos Dwarves and enslave the Miners/filthy Ash Liggers? |
|
Id be down for that, i think its no holds barred really about what you want to do with RP, you're just a dwarf from a extranous ASCII dimension which is notorious for having lots of really screwed up people & shit in it.
Dwarves should have a chisel to leave messages & picture graffiti behind with. |
|
There should be a goblin dark fortress ruin which only spawns if the dwarf ruin does, and then sends tunneling simplemobs after the dwarves |
|
I think ashwalkers suffice the nessecary low tech & envious antagonist to dwarves between fighting the dwarves might pick versus the station or other mining lavaland roles. It'd be interesting to have a Master - Slave ghost role though, with one non-antag true demon ruling over some underlings or some kind of arrangement like that.
|
| // THESE OVERRIDE THE HIDEHAIR FLAGS | ||
| var/dynamic_hair_suffix = ""//head > mask for head hair | ||
| var/dynamic_fhair_suffix = ""//mask > head for facial hair | ||
| var/greyscale = FALSE |
There was a problem hiding this comment.
dude you removed all the stuff to make sure that armors reflect their material color
There was a problem hiding this comment.
I was under the assumption that equipping it was enough to make sure the neccesary icon updates worked and gave it the proper coloring, at least from what I understood from Remie's earlier comment.
There was a problem hiding this comment.
Yes, clothing images inherit the .color of the item they came from, so if the inventory item is greyscale (it should be), then the worn will automatically be too.
| result = /obj/item/clothing/head/helmet/dwarf | ||
| reqs = list(/obj/item/weapon/grown/log = 1, | ||
| /obj/item/weapon/mold_result/helmet_plating = 1) | ||
| reqs = list(/obj/item/stack/sheet/leather = 2, |
There was a problem hiding this comment.
Do they even have access to leather?
There was a problem hiding this comment.
I was wrong in assuming cat's butcher_result gave their respective hide, but that's a super easy fix so technically they will as soon as I add that. They have the puddle for wetting and can make a drying rack so leather should be more than feasible as long as they don't kill off all their livestock.
There was a problem hiding this comment.
lmao is that the point of the catsplosion
ahahahaha
| mineralType = /obj/item/stack/sheet/mineral/clay | ||
| spreadChance = 20 | ||
| spread = 1 | ||
| scan_state = "rock_clay" |
There was a problem hiding this comment.
scan states need to go in ore_visuals.dmi now, and they must be centered.
| var/siemens_coeff = 1 //base electrocution coefficient | ||
| var/damage_overlay_type = "human" //what kind of damage overlays (if any) appear on our species when wounded? | ||
| var/fixed_mut_color = "" //to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"] | ||
| var/list/species_clothing_blacklist //If you're in this list, you can't wear it |
There was a problem hiding this comment.
these don't go on the species, they go on the clothing (like I told you too, and like you actually did (??))
| heat_protection = CHEST|GROIN|ARMS | ||
| armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) | ||
| strip_delay = 80 | ||
| put_on_delay = 60 |
There was a problem hiding this comment.
all of these dwarf clothes need:
species_whitelist = list("dwarf")
so that they're dwarf only.
| P.playDigSound() | ||
|
|
||
| if(do_after(user,P.digspeed, target = src)) | ||
| var/adjusted_digspeed = (user.getorganslot("dwarf_organ") ? (P.digspeed * 0.5) : P.digspeed) |
There was a problem hiding this comment.
Still not happy with this.
Prefer some kind of proc on the mob, that by default returns 0, then you can do:
var/udigspeed = user.get_digspeed() //Eg: 0.5, 1, 2
var/adjusted_digspeed = udigspeed ? (P.digspeed * udigspeed) : P.digspeed
The human version of this proc can then check for the dwarf organ.
| // THESE OVERRIDE THE HIDEHAIR FLAGS | ||
| var/dynamic_hair_suffix = ""//head > mask for head hair | ||
| var/dynamic_fhair_suffix = ""//mask > head for facial hair | ||
| var/my_clothing_icon = 'icons/mob/uniform.dmi' |
There was a problem hiding this comment.
This doesn't need to exist, it was only for greyscaling which is already handled automatically by human update_icons() code.
|
Remove the colon grass please from floors since we are not using it, unless you have a forseeable use for it in future it should probably be shelved. Also delivered more sprites so expect a commit at sometime to break everything once again. |
|
include me in the screenshot |
|
yes |
|
I think goofy references fit the overall game theme better than super serious tactical military operators operating operationally in fields of operations. |
|
@RandomMarine there's a time for everything and a place for it all to fit in this game, |
|
I thought one of the draws to SS13 is the stark contrast between pretty sane, serious things and the wacky and nonsensical. |
|
Adamantine for mat 8 seems a little too much. |
|
will fix all this tonight |
|
Busy working on other things so @Iamgoofball is taking the reins on this at #27761 |
|
can you send me a copy of the OP from this |
|
DORF NOOOOOOOO |

🆑 MMMiracles
add: Strange short humanoids have been spotted in the depths of Lavaland, drinking obscene amounts of alcohol and mining precious metals.
/:cl:
[why]: # dorf dorf dorf
Adds dwarves to lavaland. Dig rocks. Beat up the local fauna. Build a mighty fortress to fend off the natives. Drink obscene amounts of alcohol to survive.
Things To Do:
Code-wise
Map-wise
Sprite-wise
Migration Portal
Dwarf legion (thanks to Mey Ha Zah)
Dwarf limbs (thanks to Militaires)
Dwarf clothes
Blacksmithing items
Brewing items
Pictures
Ruin

Items
