Skip to content
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

Several ports time. #78

Merged
merged 11 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions code/__DEFINES/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
#define EYE_COLOR_LIST list("#865900", "#06b400", "#312f27", "#008e83", "#002d8e", "#c16c00")

#define MIN_PENIS_SIZE 1
#define MAX_PENIS_SIZE 3
#define MAX_PENIS_SIZE 5
#define DEFAULT_PENIS_SIZE 2

#define PENIS_TYPE_PLAIN 1
Expand All @@ -175,13 +175,17 @@
#define ERECT_STATE_HARD 2

#define MIN_TESTICLES_SIZE 1
#define MAX_TESTICLES_SIZE 3
#define MAX_TESTICLES_SIZE 5
#define DEFAULT_TESTICLES_SIZE 2

#define MIN_BREASTS_SIZE 0
#define MAX_BREASTS_SIZE 10
#define MAX_BREASTS_SIZE 16 //
#define DEFAULT_BREASTS_SIZE 3

#define DEFAULT_BELLY_SIZE 0
#define MIN_BELLY_SIZE 0
#define MAX_BELLY_SIZE 10

#define DEFAULT_BUTT_SIZE 0
#define MIN_BUTT_SIZE 0
#define MAX_BUTT_SIZE 5
3 changes: 3 additions & 0 deletions code/__DEFINES/components.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@
#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop" //called when an atom stops orbiting another atom: (atom)
/////////////////
#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost)
#define COMSIG_ATOM_ATTACK_HAND_RIGHT "atom_attack_hand_right" //from base of atom/attack_hand(): (mob/user)
#define COMSIG_ATOM_MIDDLE_CLICK "atom_middle_click" //from base of atom/attack_hand(): (mob/user)
#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user)
#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user)
#define COMPONENT_NO_ATTACK_HAND 1 //works on all 3.
Expand Down Expand Up @@ -267,6 +269,7 @@
#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)
#define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot)
#define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user)
#define COMSIG_ITEM_DROPPED_TURF "item_drop_turf" //from base of obj/item/dropped(): (mob/user)
#define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker)
#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)
#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user)
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/customization/mob_descriptors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#define MOB_DESCRIPTOR_SLOT_BREASTS 12
#define MOB_DESCRIPTOR_SLOT_VAGINA 13
#define MOB_DESCRIPTOR_SLOT_HEIGHT 14
#define MOB_DESCRIPTOR_SLOT_BUTT 15

#define CUSTOM_DESCRIPTOR_AMOUNT 2
#define CUSTOM_DESCRIPTOR_TEXT_LENGTH 32
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@
#define HIDEBELT (1<<12)
#define HIDECROTCH (1<<13)
#define HIDETAIL (1<<14)
#define HIDEBUTT (1<<15)

//blocking_behavior var on clothing items
#define BLOCKBOOTS (1<<0)
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ GLOBAL_LIST_INIT(our_forest_sex, typecacheof(list(
#define isgoblinp(A) (is_species(A, /datum/species/goblinp))
#define isanthrom(A) (is_species(A, /datum/species/anthromacro))
#define isdemim(A) (is_species(A, /datum/species/demimacro))
#define iskobold(A) (is_species(A, /datum/species/kobold))
#define isvermin(A) (is_species(A, /datum/species/anthromorphsmall))

//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@
#define ORGAN_SLOT_BREASTS "breasts"
#define ORGAN_SLOT_VAGINA "vagina"
#define ORGAN_SLOT_BELLY "belly"
#define ORGAN_SLOT_BUTT "butt"


#define BODYPART_FEATURE_HAIR "hair"
#define BODYPART_FEATURE_FACIAL_HAIR "facehair"
Expand Down
97 changes: 50 additions & 47 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,56 +13,59 @@


//Human Overlays Indexes/////////
#define MUTATIONS_LAYER 49 //mutations. Tk headglows, cold resistance glow, etc
#define CLOAK_BEHIND_LAYER 48
#define HANDS_BEHIND_LAYER 47
#define BELT_BEHIND_LAYER 46
#define BACK_BEHIND_LAYER 45
#define BODY_BEHIND_LAYER 44 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODY_UNDER_LAYER 43 // Things under the bodyparts but above the "behind body" layer
#define BODYPARTS_LAYER 42 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define BODY_ADJ_LAYER 41 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define BODY_LAYER 40 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 39 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 38 //damage indicators (cuts and burns)
#define LEG_PART_LAYER 37
#define PANTS_LAYER 36
#define SHOES_LAYER 35
#define LEG_DAMAGE_LAYER 34
#define LEGSLEEVE_LAYER 33
#define SHOESLEEVE_LAYER 32
#define SHIRT_LAYER 31
#define WRISTS_LAYER 30
#define ARMOR_LAYER 29
#define TABARD_LAYER 28
#define BELT_LAYER 27 //only when looking south
#define UNDER_CLOAK_LAYER 26
#define HANDS_PART_LAYER 25
#define GLOVES_LAYER 24
#define ARM_DAMAGE_LAYER 23
#define SHIRTSLEEVE_LAYER 22
#define GLOVESLEEVE_LAYER 21
#define WRISTSLEEVE_LAYER 20
#define ARMORSLEEVE_LAYER 19
#define RING_LAYER 18
#define GLASSES_LAYER 17
#define NECK_LAYER 16
#define CLOAK_LAYER 15 //only when looking north or west/east
#define HAIR_LAYER 14 //TODO: make part of head layer?
#define MASK_LAYER 13
#define HAIREXTRA_LAYER 12
#define MOUTH_LAYER 11
#define HEAD_LAYER 10
#define BACK_LAYER 9 //only when looking north
#define HANDS_LAYER 8
#define HANDCUFF_LAYER 7
#define LEGCUFF_LAYER 6
#define BODY_FRONT_LAYER 5
#define BODY_FRONT_FRONT_LAYER 4
#define MUTATIONS_LAYER 52 //mutations. Tk headglows, cold resistance glow, etc
#define CLOAK_BEHIND_LAYER 51
#define HANDS_BEHIND_LAYER 50
#define BELT_BEHIND_LAYER 49
#define BACK_BEHIND_LAYER 48
#define BODY_BEHIND_LAYER 47 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODY_UNDER_LAYER 46 // Things under the bodyparts but above the "behind body" layer
#define BODYPARTS_LAYER 45 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define BODY_ADJ_LAYER 44 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define BODY_LAYER 43 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 42 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 41 //damage indicators (cuts and burns)
#define PANTS_LAYER 40
#define SHOES_LAYER 39
#define LEG_PART_LAYER 38
#define LEG_DAMAGE_LAYER 37
#define LEGSLEEVE_LAYER 36
#define SHOESLEEVE_LAYER 35
#define SHIRT_LAYER 34
#define WRISTS_LAYER 33
#define ARMOR_LAYER 32
#define TABARD_LAYER 31
#define BELT_LAYER 30 //only when looking south
#define UNDER_CLOAK_LAYER 29
#define HANDS_PART_LAYER 28
#define GLOVES_LAYER 27
#define ARM_DAMAGE_LAYER 26
#define SHIRTSLEEVE_LAYER 25
#define GLOVESLEEVE_LAYER 24
#define WRISTSLEEVE_LAYER 23
#define ARMORSLEEVE_LAYER 22
#define RING_LAYER 21
#define GLASSES_LAYER 20
#define NECK_LAYER 19
#define CLOAK_LAYER 18 //only when looking north or west/east
#define HAIR_LAYER 17 //TODO: make part of head layer?
#define MASK_LAYER 16
#define HAIREXTRA_LAYER 15
#define MOUTH_LAYER 14
#define HEAD_LAYER 13
#define BACK_LAYER 12 //only when looking north
#define HANDS_LAYER 11
#define HANDCUFF_LAYER 10
#define LEGCUFF_LAYER 9
#define BODY_FRONT_LAYER 8
#define BODY_FRONT_FRONT_LAYER 7
#define BODY_FRONT_FRONT_FRONT_LAYER 6
#define BODY_FFFFRONT_LAYER 5
#define BODY_FFFFFRONT_LAYER 4
#define HALO_LAYER 3 //blood cult ascended halo, because there's currently no better solution for adding/removing
#define FIRE_LAYER 2 //If you're on fire
#define TURF_LAYER 1 //If you're on fire
#define TOTAL_LAYERS 49 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
#define TOTAL_LAYERS 51 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;

#define BACK_CLOAK_SOUTH_LAYER (BODY_BEHIND_LAYER+1)

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@
#define OFFSET_ARMOR "wear_armor"
#define OFFSET_HANDS "hands"
#define OFFSET_UNDIES "underwear"
#define OFFSET_BUTT "butt"

#define OFFSET_ID_F "wear_ringf"
#define OFFSET_GLOVES_F "glovesf"
Expand Down
26 changes: 21 additions & 5 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
#define TRAIT_GOODRUNNER "Good Runner"



//Hearthstone port (Tracking)
#define TRAIT_PERFECT_TRACKER "Perfect Tracker" //Will always find any tracks and analyzes them perfectly.
#define TRAIT_NOCSIGHT "Blessing of Noc" // I can see just a bit more clearly in darkness.
Expand Down Expand Up @@ -98,6 +99,14 @@

//Hearthstone Port
#define TRAIT_MALUMSGRACE "Malum's Grace"
#define TRAIT_STRONGTHROW "Strong Throw" // 1.5x throw distance and force
#define TRAIT_MARTIALARTIST "Martial Artist" //more unarmed combat options
#define TRAIT_PUGILIST "Pugilist" //more punch damage
#define TRAIT_DEATHBYSNOOSNOO "Bed Breaker" // double sex damage (requires strong intent)
#define TRAIT_WILDMAGIC "Wild Magic" //low chance for insane stuff to happen when casting
#define TRAIT_FIENDKISS "Kiss of the Fiend" //after casting some spells, hurl a firebolt at the same location
#define TRAIT_POISONBITE "Venomous Bite" // Adds tox damage on bites

//Caustic Additions
#define TRAIT_ABYSSORS_BLESSING "Abyssor's Blessing"
#define TRAIT_FLAMING_TOUCH "Flaming Touch"
Expand Down Expand Up @@ -158,7 +167,7 @@ GLOBAL_LIST_INIT(roguetraits, list(
TRAIT_SEEDKNOW = span_info("I know which seeds grow which crops."),
TRAIT_PERFECT_TRACKER = span_info("I am the perfect tracker. No tracks will deceive my eyes, nor will they hide their secrets from me."),//Hearthstone port.
TRAIT_NOCSIGHT = span_info("Noc blesses my eyes to be unburdened by the night."), //Hearthstone change.
TRAIT_CIVILIZEDBARBARIAN = span_info("Your fists are heavier."),
TRAIT_CIVILIZEDBARBARIAN = span_info("My fists are heavier and Improvised weapons are my specialty."),
TRAIT_COMICSANS = span_sans("I am cursed with a odd voice."),
TRAIT_SQUIRE_REPAIR = span_info("I know my way around my Master's tools."),
TRAIT_WATERBREATHING = span_info("I do not drown in bodies of water."),
Expand All @@ -169,17 +178,24 @@ GLOBAL_LIST_INIT(roguetraits, list(
TRAIT_DEATHSIGHT = span_info("I can feel when someone nearby draws the Undermaiden's attention."),
TRAIT_XYLIX = span_info("I know how to speak in code that only fellow tricksters can understand."),
TRAIT_CABAL = span_info("In secret, I have studied the ways of Her ascension, and know of others of the Cabal."),
TRAIT_HORDE = span_info("BY BLOOD AND BONE, I AM OF GRAGGAR'S ANOINTED! I FEEL THE STRENGTH IN OTHERS WHO ARE THE SAME."),
TRAIT_DEPRAVED = span_info("The languid scent of Her debauchery is known to me, and I can detect its sordid presence upon others."),
TRAIT_HORDE = span_bloody("BY BLOOD AND BONE, I AM OF GRAGGAR'S ANOINTED! I FEEL THE STRENGTH IN OTHERS WHO ARE THE SAME."),
TRAIT_DEPRAVED = span_love("The languid scent of Her debauchery is known to me, and I can detect its sordid presence upon others."),
//Hearthstone Port
TRAIT_MALUMSGRACE = "Malum is my muse.",
TRAIT_MALUMSGRACE = span_info("Malum is my muse."),
TRAIT_DEATHBYSNOOSNOO = span_bloody("It's an unlucky thing to share my bed, I can break pelvis with strong intent."),
TRAIT_STRONGTHROW = span_info("My throws are mighty!"),
TRAIT_MARTIALARTIST = span_info("I have better kicks."),
TRAIT_PUGILIST = span_info("I have stronger punches."),
TRAIT_WILDMAGIC = span_info("My magic sometimes has unexpected consequences."),
TRAIT_FIENDKISS = span_info("When I cast projectile magic, the fiend also hurls a fire bolt at the same location."),
TRAIT_POISONBITE = span_info("My bites inject venom into my target."),
//Caustic Changes
TRAIT_GOODRUNNER = span_info("I can run without breaking a sweat!"),
TRAIT_FORTITUDE = span_info("The typical drain I feel from day to day life is lessened, my athleticism greater."),
TRAIT_GUIDANCE = span_info("Arcyne assistance guides my weapons."),
TRAIT_ABYSSORS_BLESSING = span_info("I feel like I can course through water with ease... Yet, my body tires faster than I remembered."),
TRAIT_FLAMING_TOUCH = span_info("My arms surge with flames, each strike I deal burns my enemies at cost of my own health!"),
TRAIT_DECAYEDHANDS = span_warning("My hands have decayed for far too long, I do not have the dexterity to pick up items.")
TRAIT_DECAYEDHANDS = span_warning("My hands have decayed for far too long, I do not have the dexterity to pick up items."),
))

// trait accessor defines
Expand Down
18 changes: 16 additions & 2 deletions code/_globalvars/customization/organ_customization.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,22 @@ GLOBAL_LIST_INIT(named_penis_sizes, list(
"Small" = 1,
"Average" = 2,
"Large" = 3,
"massive" = 4,
"enormous" = 5,
))

GLOBAL_LIST_INIT(named_ball_sizes, list(
"small" = 1,
"average" = 2,
"large" = 3,
"massive" = 4,
"enormous" = 5,
"gigantic" = 6,
))

GLOBAL_LIST_INIT(named_breast_sizes, list(
"flat" = 0,
"sery small" = 1,
"Flat" = 0,
"Very small" = 1,
"small" = 2,
"normal" = 3,
"large" = 4,
Expand All @@ -37,6 +42,15 @@ GLOBAL_LIST_INIT(named_belly_sizes, list(
"ungodly big" = 10,
))

GLOBAL_LIST_INIT(named_butt_sizes, list(
"flat" = 0,
"small" = 1,
"medium" = 2,
"large" = 3,
"massive" = 4,
"enormous" = 5,
))

GLOBAL_LIST_INIT(customizer_choices, build_customizer_choices())
GLOBAL_LIST_INIT(customizers, build_customizers())

Expand Down
7 changes: 7 additions & 0 deletions code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,13 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_SEEPRICES" = TRAIT_SEEPRICES,
//Hearthstone Port
"TRAIT_MALUMSGRACE" = TRAIT_MALUMSGRACE,
"TRAIT_DEATHBYSNOOSNOO" = TRAIT_DEATHBYSNOOSNOO,
"TRAIT_STRONGTHROW" = TRAIT_STRONGTHROW,
"TRAIT_MARTIALARTIST" = TRAIT_MARTIALARTIST,
"TRAIT_PUGILIST" = TRAIT_PUGILIST,
"TRAIT_POISONBITE" = TRAIT_POISONBITE,
"TRAIT_WILDMAGIC" = TRAIT_WILDMAGIC,
"TRAIT_FIENDKISS" = TRAIT_FIENDKISS,
//Caustic Changes
"TRAIT_ABYSSORS_BLESSING" = TRAIT_ABYSSORS_BLESSING, // NOT To be confused with Abyssors Swim! You will still fatigue in water!
"TRAIT_FLAMING_TOUCH" = TRAIT_FLAMING_TOUCH
Expand Down
1 change: 1 addition & 0 deletions code/_onclick/click.dm
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,7 @@
// swap_hand()

/atom/proc/MiddleClick(mob/user, params)
SEND_SIGNAL(src, COMSIG_ATOM_MIDDLE_CLICK, user)
return

/turf/open/MiddleClick(mob/user, params)
Expand Down
8 changes: 8 additions & 0 deletions code/_onclick/other_mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,12 @@
if(!apply_damage(dam2do, BRUTE, def_zone, armor_block, user))
nodmg = TRUE
next_attack_msg += " <span class='warning'>Armor stops the damage.</span>"
if(HAS_TRAIT(user, TRAIT_POISONBITE))
if(src.reagents)
var/poison = user.STACON/2
src.reagents.add_reagent(/datum/reagent/toxin/venom, poison/2)
src.reagents.add_reagent(/datum/reagent/medicine/soporpot, poison)
to_chat(user, span_warning("Your fangs inject venom into [src]!"))

var/datum/wound/caused_wound
if(!nodmg)
Expand Down Expand Up @@ -474,6 +480,8 @@
. = TRUE
if(interaction_flags_atom & INTERACT_ATOM_ATTACK_HAND)
. = _try_interact(user)
SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND_RIGHT, user)


//Return a non FALSE value to cancel whatever called this from propagating, if it respects it.
/atom/proc/_try_interact(mob/user)
Expand Down
4 changes: 4 additions & 0 deletions code/controllers/subsystem/throwing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ SUBSYSTEM_DEF(throwing)
src.target_zone = target_zone
src.extra = extra

if(HAS_TRAIT(src.target, TRAIT_STRONGTHROW))
src.maxrange *= 1.5
src.force *= 1.5

/datum/thrownthing/Destroy()
SSthrowing.processing -= thrownthing
thrownthing.throwing = null
Expand Down
Loading
Loading