-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nabbers & Backend #8913
base: master
Are you sure you want to change the base?
Nabbers & Backend #8913
Conversation
code/game/objects/items.dm
Outdated
var/icon/standing_icon | ||
var/mob/living/carbon/human/H = wearer | ||
if(ishuman(wearer) && H.species.get_offset_overlay_image(iconnodefault, icon2use, state2use, slot = slot_name)) | ||
standing_icon = H.species.get_offset_overlay_image(iconnodefault, icon2use, state2use, slot = slot_name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should cast this before the if
so you aren't running the proc and associated cache lookup twice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if(ishuman(wearer))
var/mob/living/carbon/human/H = wearer
standing_icon = H.species.get_offset_overlay_image(iconnodefault, icon2use, state2use, slot = slot_name) || icon(icon = icon2use, icon_state = state2use)
else
standing_icon = icon(icon = icon2use, icon_state = state2use)
would also work.
One issue noted - standing_icon
is an image if returned by get_offset_overlay_image()
but an icon otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your changes are still replicating a redundant typecheck on the human mob.
I.. also can't find the qdel in New() |
@@ -7,6 +7,12 @@ | |||
siemens_coefficient = 0.9 | |||
body_parts_covered = 0 | |||
|
|||
sprite_sheets = list( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You seem to be manually setting this in a lot of places, why is the base type's list not appropriate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Icons exist for softcaps for Nabbers, but not really anything else. So using human sprites is preferred to defaulting to the grey softcap.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would argue you should make the default a blank icon in that case, to be honest. This is a lot of redundant overrides.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What would the point of having the icon-shifting for headgear even be then, if nothing uses it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The point of the offset system is so that in circumstances where no icon exists, it can offset the base icon. The default icon should not be used in cases where the offset will do the job.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's what this is doing, it's telling the icon generation that there are proper sprites for the species. If it's set on the base head clothing, it uses the greycap for everything that isn't a softcap. It's the same reason (but intended this time) that all suit- or uniform-slot things become the harness.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I apparently never replied to this - the new system only uses an icon state from the sprite file if it exists, it won't apply a default like the old system, the 'default' will be an offset version of the human onmob icon.
@@ -177,6 +177,10 @@ emp_act | |||
return 0 | |||
var/protection = 0 | |||
var/list/protective_gear = def_zone.get_covering_clothing() | |||
|
|||
if(def_zone.species.natural_armour_values) // You have a Cool Alien Limb with armor? Congrats, you get that armor! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I should steal this for Nebula instead of doing it for the entire mob.
@@ -44,10 +44,3 @@ | |||
robotic = ORGAN_ROBOT | |||
|
|||
standard_pulse_level = PULSE_NONE | |||
|
|||
/obj/item/organ/internal/stomach/machine/handle_organ_proc_special() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated removal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The stomach's proc is duplicated in the heart file for some reason. The proc still exists with the parent in stomach.dm
code/__defines/armour.dm
Outdated
// Armor will turn attacks into less dangerous (e.g. turning cut into bruise), so keep that in mind when decided what armor value to use. | ||
// Some levels are marked with what they intend to block in such way. | ||
|
||
#define ARMOR_BALLISTIC_MINOR 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should either not port these, or port them thoroughly. Leaving every other value in the game as a bare number and using these defines just for one armour entry is pretty untidy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are also tab indented rather than space indented which is very grody in the diff. Nitpick.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left the other values as I don't believe we have a universal value set we use for armor, and changing every piece of armor to fit the schema in a PR for an event species felt out-of-scope to me, since they probably don't fit neatly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case I would suggest making a separate PR with the armour defines to normalize them, or using bare numbers in the armour set on nabbers/suits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Armor defines slain
code/__defines/damage_organs.dm
Outdated
@@ -65,3 +65,10 @@ | |||
#define MODULAR_BODYPART_INVALID 0 // Cannot be detached or reattached. | |||
#define MODULAR_BODYPART_PROSTHETIC 1 // Can be detached or reattached freely. | |||
#define MODULAR_BODYPART_CYBERNETIC 2 // Can be detached or reattached to compatible parent organs. | |||
|
|||
//Blood levels. These are percentages based on the species blood_volume far. | |||
#define BLOOD_VOLUME_FULL 100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to armour defines, you should use these in the blood volume code more broadly than just nabbers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Species all have their own blood levels, removed 👍
8e925b3
to
5f19a76
Compare
e9eb210
to
30989c6
Compare
why |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You merged the main branch into your feature branch instead of rebasing your feature branch on the head commit of the main branch. You'll need to undo that.
c327bde
to
d5d1d85
Compare
Adds Nabbers as an event species, similar to old (current? they're not yet joinable to my knowledge) vox. "Whitelisted" as character setup for events (and maybe raiders?) is easier with the menu than the edit-character menu in game. Backend: Icon generation for humanmobs is now updated to allow larger species that use offsets to determine where base 'human' icons will go if allowed. Example: Nabbers use most human headgear pixelshifted up. Species may have larger icons, and still be centered properly on the tile.
…verride with tesh and vox in prep for icon system PR.
Monarch Amp crown sprite for base 'headgear'.
Fix Serpentids being able to use non-serpentid prosthetics. Serpentid voiceboxes are no longer auto-robotic, meaning they cannot speak GalCom without an implant, but can understand it. Serpentid voiceboxes no longer allow the serpentid to speak human languages by default. Enables the GalCom implant.
Cannot utilize their wings when wearing something on their back. Cannot see well in bright light.
No longer wear headsets on their lower shoulder. Able to wear armor. Literally. They take the whole suit and just wear it like a tabard.
8cfab42
to
ebc98a7
Compare
Adds Serpentids and Serpentid Monarchs as event species & subspecies, similar to old vox. "Whitelisted" as character setup for events (and maybe raiders?) is easier with the menu than the edit-character menu in game.
Backend: Icon generation for clothing is now updated to allow larger species that use offsets to determine where base 'human' clothing icons will go if allowed. Example: Nabbers use most human headgear pixelshifted up.
Species may have larger icons, and still be centered properly on the tile using offsets from the datum.
Species may have unique armor values inherent to them, applied to their limbs. If a limb is transplanted, it keeps its armor value!
Serpentids:
Large armored invertebrates.
Two sets of arms, swapped by the pull-punches verb. One set is for manipulation of objects, the other hunting and threat displays. Hunting arms
Their respiration requires multiple organs, and their blood contains acetone and phoron to manage it.
When suffering respiratory malfunction (gasping), their body will catalyze Dexalin in an attempt to mitigate it, costing nutrition.
Lore pending continued discussion.