-
Notifications
You must be signed in to change notification settings - Fork 275
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #456 from Glyphee/floran-wants-to-stab
Floran wants to stab
- Loading branch information
Showing
22 changed files
with
304 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+1.16 KB
code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_floran.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
16 changes: 16 additions & 0 deletions
16
monkestation/code/modules/client/preferences/species_features/floran.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
/datum/preference/choiced/floran_leaves | ||
savefile_key = "feature_floran_leaves" | ||
savefile_identifier = PREFERENCE_CHARACTER | ||
category = PREFERENCE_CATEGORY_FEATURES | ||
main_feature_name = "Floran Leaves" | ||
should_generate_icons = TRUE | ||
|
||
/datum/preference/choiced/floran_leaves/init_possible_values() | ||
return possible_values_for_sprite_accessory_list_for_body_part( | ||
GLOB.floran_leaves_list, | ||
"floran_leaves", | ||
list("ADJ"), | ||
) | ||
|
||
/datum/preference/choiced/floran_leaves/apply_to_human(mob/living/carbon/human/target, value) | ||
target.dna.features["floran_leaves"] = value |
24 changes: 24 additions & 0 deletions
24
monkestation/code/modules/mob/dead/new_player/sprite_accessories/floran_leaves.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/datum/sprite_accessory/floran_leaves | ||
icon = 'monkestation/icons/mob/species/floran/floran_leaves.dmi' | ||
color_src = MUTCOLORS_SECONDARY | ||
//Should be MUTCOLORS_SECONDARY, but while its not working it will be the inverse of MUTCOLORS | ||
|
||
/datum/sprite_accessory/floran_leaves/furnivour | ||
name = "Furnivour" | ||
icon_state = "furnivour" | ||
|
||
/datum/sprite_accessory/floran_leaves/leaf | ||
name = "Leaf" | ||
icon_state = "leaf" | ||
|
||
/datum/sprite_accessory/floran_leaves/pelt | ||
name = "Pelt" | ||
icon_state = "pelt" | ||
|
||
/datum/sprite_accessory/floran_leaves/savage | ||
name = "Savage" | ||
icon_state = "savage" | ||
|
||
/datum/sprite_accessory/floran_leaves/survivalist | ||
name = "Survivalist" | ||
icon_state = "survivalist" |
149 changes: 149 additions & 0 deletions
149
monkestation/code/modules/mob/living/carbon/human/species_type/floran.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
/datum/species/floran | ||
name = "\improper Floran" | ||
plural_form = "Florans" | ||
id = SPECIES_FLORAN | ||
sexes = FALSE | ||
species_traits = list( | ||
MUTCOLORS, | ||
MUTCOLORS_SECONDARY, | ||
NO_UNDERWEAR, | ||
) | ||
inherent_traits = list( | ||
TRAIT_PLANT_SAFE, | ||
TRAIT_NO_JUMPSUIT, | ||
) | ||
external_organs = list( | ||
/obj/item/organ/external/pod_hair = "None", | ||
/obj/item/organ/external/floran_leaves = "Furnivour", | ||
) | ||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT | ||
inherent_factions = list(FACTION_PLANTS, FACTION_VINES) | ||
burnmod = 1.8 | ||
heatmod = 0.67 //Same as lizard people | ||
coldmod = 1.5 //Same as lizard people | ||
speedmod = -0.1 //Same as arachnids | ||
payday_modifier = 0.75 | ||
meat = /obj/item/food/meat/slab/human/mutant/plant | ||
exotic_blood = /datum/reagent/water | ||
// disliked_food = VEGETABLES | FRUIT | GRAIN | ||
liked_food = MEAT | BUGS | GORE | ||
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT | ||
species_language_holder = /datum/language_holder/plant | ||
|
||
bodypart_overrides = list( | ||
BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/floran, | ||
BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/floran, | ||
BODY_ZONE_HEAD = /obj/item/bodypart/head/floran, | ||
BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/floran, | ||
BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/floran, | ||
BODY_ZONE_CHEST = /obj/item/bodypart/chest/floran, | ||
) | ||
mutanttongue = /obj/item/organ/internal/tongue/lizard | ||
mutanteyes = /obj/item/organ/internal/eyes/floran | ||
|
||
ass_image = 'icons/ass/asspodperson.png' | ||
|
||
/datum/species/floran/spec_life(mob/living/carbon/human/H, seconds_per_tick, times_fired) | ||
if(H.stat == DEAD) | ||
return | ||
|
||
var/light_amount = 0 | ||
if(isturf(H.loc)) | ||
var/turf/T = H.loc | ||
light_amount = min(1, T.get_lumcount()) - 0.5 | ||
if(light_amount > 0.3) | ||
H.heal_overall_damage(brute = 0.5 * seconds_per_tick, burn = 0.5 * seconds_per_tick, required_bodytype = BODYTYPE_ORGANIC) //Lowered to 0.25 | ||
H.adjustToxLoss(-0.5 * seconds_per_tick) | ||
H.adjustOxyLoss(-0.5 * seconds_per_tick) | ||
|
||
/datum/species/floran/on_species_gain(mob/living/carbon/new_floran, datum/species/old_species, pref_load) | ||
. = ..() | ||
if(ishuman(new_floran)) | ||
update_mail_goodies(new_floran) | ||
|
||
/datum/species/floran/update_quirk_mail_goodies(mob/living/carbon/human/recipient, datum/quirk/quirk, list/mail_goodies = list()) | ||
if(istype(quirk, /datum/quirk/blooddeficiency)) | ||
mail_goodies += list( | ||
/obj/item/reagent_containers/blood/podperson | ||
) | ||
return ..() | ||
|
||
/datum/species/floran/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, seconds_per_tick, times_fired) | ||
if(chem.type == /datum/reagent/toxin/plantbgone) | ||
H.adjustToxLoss(3 * REM * seconds_per_tick) | ||
H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * seconds_per_tick) | ||
return TRUE | ||
if(chem.type == /datum/reagent/potassium) //Floran "blood" is water, water does not like potassium | ||
to_chat(H, span_danger("You feel your skin bubble and pop painfully!")) | ||
H.adjustBruteLoss(10*REM, FALSE) | ||
return TRUE | ||
return ..() | ||
|
||
/datum/species/floran/randomize_features(mob/living/carbon/human_mob) | ||
randomize_external_organs(human_mob) | ||
|
||
/datum/species/floran/get_scream_sound(mob/living/carbon/human/human) | ||
return pick( | ||
'sound/voice/lizard/lizard_scream_1.ogg', | ||
'sound/voice/lizard/lizard_scream_2.ogg', | ||
'sound/voice/lizard/lizard_scream_3.ogg', | ||
'monkestation/sound/voice/screams/lizard/lizard_scream_5.ogg', | ||
) | ||
|
||
/datum/species/floran/get_laugh_sound(mob/living/carbon/human/human) | ||
return 'monkestation/sound/voice/laugh/lizard/lizard_laugh.ogg' | ||
|
||
/datum/species/floran/get_species_description() | ||
return "Plant-based humanoids, they are extremely violent carnivores with no central government or power structure, \ | ||
split into numerous tribes spread across the universe, each led by a Greenfinger. \ | ||
Though they are biologically a single-sex race, they may adapt sexually dimorphic physical traits and male/female identities if they so choose. \ | ||
Their speech is often simplistic, and they tend to hisss their sibilantsss. \ | ||
Their primary drives are hunting, acquiring trophies, fighting, eating meat, and more hunting. \ | ||
It is speculated that their general casual view towards killing and consuming other intelligent species stems from not viewing \"meat\" as \"alive\" in \ | ||
the same sense they are. However, as the Floran spread throughout the galaxy, more and more individuals are recognizing a need to integrate, \ | ||
make friends, and maybe not stab anyone that slightly inconveniences them. (E.I. THIS IS NOT AN EXCUSE TO RDM)" | ||
|
||
/datum/species/floran/create_pref_unique_perks() | ||
var/list/to_add = list() | ||
|
||
to_add += list( | ||
list( | ||
SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, | ||
SPECIES_PERK_ICON = "", | ||
SPECIES_PERK_NAME = "Carnivore", | ||
SPECIES_PERK_DESC = "As a vicious carnivore, your claws do more damage to your prey.", | ||
), | ||
list( | ||
SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, | ||
SPECIES_PERK_ICON = "", | ||
SPECIES_PERK_NAME = "Photosynthesis", | ||
SPECIES_PERK_DESC = "Your green skin slowly heals itself while it is illuminated.", | ||
), | ||
list( | ||
SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, | ||
SPECIES_PERK_ICON = "", | ||
SPECIES_PERK_NAME = "Flammable Skin", | ||
SPECIES_PERK_DESC = "Your flammable skin is highly susceptible to burn damage.", | ||
), | ||
) | ||
|
||
return to_add | ||
|
||
|
||
/obj/item/organ/external/floran_leaves | ||
name = "floran leaves" | ||
desc = "you shouldn't see this" | ||
organ_flags = ORGAN_UNREMOVABLE | ||
icon_state = "floran_leaves" | ||
icon = 'monkestation/icons/obj/medical/organs/organs.dmi' | ||
|
||
preference = "feature_floran_leaves" | ||
zone = BODY_ZONE_CHEST | ||
slot = ORGAN_SLOT_EXTERNAL_FLORAN_LEAVES | ||
|
||
use_mob_sprite_as_obj_sprite = TRUE | ||
bodypart_overlay = /datum/bodypart_overlay/mutant/floran_leaves | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves | ||
layers = EXTERNAL_ADJACENT | ||
feature_key = "floran_leaves" |
37 changes: 37 additions & 0 deletions
37
monkestation/code/modules/surgery/bodyparts/floran_bodyparts.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/obj/item/bodypart/head/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN | ||
is_dimorphic = FALSE | ||
|
||
/obj/item/bodypart/chest/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN | ||
is_dimorphic = FALSE | ||
|
||
/obj/item/bodypart/arm/left/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN | ||
unarmed_attack_verb = "slash" | ||
unarmed_damage_high = 15 | ||
unarmed_damage_low = 5 | ||
unarmed_attack_effect = ATTACK_EFFECT_CLAW | ||
unarmed_attack_sound = 'sound/weapons/slice.ogg' | ||
unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' | ||
|
||
/obj/item/bodypart/arm/right/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN | ||
unarmed_attack_verb = "slash" | ||
unarmed_damage_high = 15 | ||
unarmed_damage_low = 5 | ||
unarmed_attack_effect = ATTACK_EFFECT_CLAW | ||
unarmed_attack_sound = 'sound/weapons/slice.ogg' | ||
unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' | ||
|
||
/obj/item/bodypart/leg/left/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN | ||
|
||
/obj/item/bodypart/leg/right/floran | ||
icon_greyscale = 'monkestation/icons/mob/species/floran/bodyparts.dmi' | ||
limb_id = SPECIES_FLORAN |
42 changes: 42 additions & 0 deletions
42
monkestation/code/modules/surgery/organs/external/floran_accessories.dm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/obj/item/organ/external/floran_leaves | ||
name = "floran leaves" | ||
desc = "you shouldn't see this" | ||
organ_flags = ORGAN_UNREMOVABLE | ||
icon_state = "floran_leaves" | ||
icon = 'monkestation/icons/obj/medical/organs/organs.dmi' | ||
|
||
preference = "feature_floran_leaves" | ||
zone = BODY_ZONE_CHEST | ||
slot = ORGAN_SLOT_EXTERNAL_FLORAN_LEAVES | ||
|
||
use_mob_sprite_as_obj_sprite = TRUE | ||
bodypart_overlay = /datum/bodypart_overlay/mutant/floran_leaves | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves | ||
layers = EXTERNAL_ADJACENT | ||
feature_key = "floran_leaves" | ||
// color_source = ORGAN_COLOR_MUTSECONDARY | ||
|
||
var/color_swapped_layer = EXTERNAL_ADJACENT//Remove when MUTCOLORS_SECONDARY works | ||
var/color_inverse_base = 255//Remove when MUTCOLORS_SECONDARY works | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves/get_global_feature_list() | ||
return GLOB.floran_leaves_list | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves/color_image(image/overlay, draw_layer, obj/item/bodypart/limb)//Remove when MUTCOLORS_SECONDARY works | ||
if(draw_layer != bitflag_to_layer(color_swapped_layer)) | ||
return ..() | ||
|
||
if(draw_color) | ||
var/list/rgb_list = rgb2num(draw_color) | ||
overlay.color = rgb(color_inverse_base - rgb_list[1], color_inverse_base - rgb_list[2], color_inverse_base - rgb_list[3]) | ||
else | ||
overlay.color = null | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves/get_base_icon_state() | ||
return sprite_datum.icon_state | ||
|
||
/datum/bodypart_overlay/mutant/floran_leaves/can_draw_on_bodypart(mob/living/carbon/human/human) | ||
. = ..() | ||
if(human.wear_suit && (human.wear_suit.flags_inv & HIDEJUMPSUIT)) | ||
return FALSE |
Oops, something went wrong.