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

Butchering Update #785

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
19 changes: 16 additions & 3 deletions code/__DEFINES/roguetown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,22 @@ GLOBAL_LIST_EMPTY(job_respawn_delays)
#define M_WOOD 2 // one small log.
#define M_CLOTH 2 // one cloth piece
#define M_GRAIN 1 // one threshed wheat grain
#define M_FUR M_CLOTH * 2
#define M_SILK M_CLOTH * 2 // one silk thread
#define M_SALT 4 // one salt, or raw ore, or fur, or coal
#define M_LEATHER M_CLOTH * 4
#define M_SALT 4 // one salt, or raw ore, or coal
#define M_LEATHER M_CLOTH * 2 // one hide
#define M_IRON 12 // one iron bar Twelve is a good number for it can be halved, cut in three and four without fractions. Multiples of 6
#define M_STEEL M_IRON+W_MODERATE // one steel bar
#define M_SILVER M_IRON*3 // one silver bar
#define M_GOLD M_IRON*5 // one gold bar

// Skill costs - a rarity value add, items requiring a high skill to produce are rarer and has more intrinsic value. So craftsmen can make a profit.
#define SKILL_1 2
#define SKILL_2 4
#define SKILL_3 6
#define SKILL_4 8
#define SKILL_5 10

// Work costs - valued VERY low compared to raw materials, this is a problem but at least its systemic and visible now and can be adjusted. Very rough, time to gather stuff, refine it etc etc as well as crafting time itself.
#define W_MINOR 2 // Less than 10 seconds of work
#define W_MODERATE W_MINOR * 3 // Less than 1 minute of work, high skill required
Expand Down Expand Up @@ -182,11 +190,16 @@ GLOBAL_LIST_EMPTY(job_respawn_delays)
#define VALUE_GOLD_ITEM M_GOLD+W_MODERATE
#define VALUE_GOLD_RARE_ITEM VALUE_GOLD_ITEM+BONUS_VALUE_MODEST

#define VALUE_SMALL_LEATHER M_LEATHER+W_MINOR
#define VALUE_MEDIUM_LEATHER M_LEATHER*2+W_MINOR
#define VALUE_BIG_LEATHER M_LEATHER*3+W_MINOR
#define VALUE_SMALL_FUR M_FUR+M_MISC*2+W_MINOR

#define VALUE_PADDED_DRESS M_SILK*4+M_MISC*2+M_SALT+W_MODEST
#define VALUE_PADDED_DRESS M_SILK*4+M_MISC*2+M_FUR+W_MODEST
#define VALUE_LIGHT_GAMBESSON M_CLOTH*2+M_MISC+W_MINOR
#define VALUE_GAMBESSON M_CLOTH*4+M_MISC+W_MINOR
#define VALUE_HEAVY_GAMBESSON M_CLOTH*6+M_MISC*4+W_MODERATE
#define VALUE_FUR_ARMOR M_LEATHER*2+M_FUR+W_MINOR
#define VALUE_LEATHER_ARMOR M_LEATHER*2+W_MINOR
#define VALUE_LEATHER_ARMOR_FUR VALUM_LEATHER_ARMOR+M_SALT
#define VALUE_LEATHER_ARMOR_STUD VALUE_STEEL_SMALL_ITEM+M_LEATHER
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/crafting/recipes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
var/verbage = "craft"
var/verbage_tp = "crafts" // Third person of verbage var
var/craftsound = 'sound/foley/bandage.ogg'
var/subtype_reqs = FALSE
var/subtype_reqs = FALSE // If FALSE this does not allow Subtypes of the ingridients. Set it to TRUE to allow crafting with say, fur/gote and fur/volf interchangeably. Has drawbacks & advantages.
var/structurecraft = null
var/buildsame = FALSE //allows palisades to be built on top of each other just not the same dir
var/wallcraft = FALSE
Expand Down
3 changes: 0 additions & 3 deletions code/game/objects/effects/decals/remains.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
desc = ""
icon_state = "remainsxeno"

/obj/effect/decal/remains/xeno/troll
desc = "The skull and bones of a troll that decomposed long ago."

/obj/effect/decal/remains/xeno/larva
icon_state = "remainslarva"

Expand Down
24 changes: 18 additions & 6 deletions code/game/objects/items/rogueitems/natural/animals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,41 @@
name = "hide"
icon_state = "hide"
desc = "Hide from one of Dendor's creachers."
dropshrink = 0.50
dropshrink = 0.90
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
drop_sound = 'sound/foley/dropsound/cloth_drop.ogg'
sellprice = 5

/obj/item/natural/fur
/obj/item/natural/fur // a piece of skin with animal hair on it. Could be called a fur but its untanned and also encompasses rat skins and goat skins so pelt is more suitable at least to my ears.
name = "fur"
icon_state = "wool1"
desc = "Fur from one of Dendor's creachers."
desc = "pelt from one of Dendor's creachers."
dropshrink = 0.90
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
drop_sound = 'sound/foley/dropsound/cloth_drop.ogg'
color = "#605c55"
sellprice = 5

/obj/item/natural/fur/gote
desc = "from a gote."
icon_state = "pelt_gote"

/obj/item/natural/fur/volf
desc = "Fur from a volf."
color = "#4b4742"
desc = "from a volf."
icon_state = "pelt_volf"

/obj/item/natural/fur/mole
desc = "from a mole."
icon_state = "pelt_mole"

/obj/item/natural/fur/rous
desc = "from a rous."
icon_state = "pelt_rous"

//RTD make this a storage item and make clickign on animals with things put it in storage
/obj/item/natural/saddle
Expand Down
16 changes: 15 additions & 1 deletion code/game/objects/items/rogueweapons/intents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@
blade_class = BCLASS_BLUNT
hitsound = "punch_hard"
chargetime = 0
penfactor = 15
penfactor = 13
swingdelay = 0
candodge = TRUE
canparry = TRUE
Expand All @@ -463,6 +463,20 @@
canparry = TRUE
miss_text = "slashes the air!"

/datum/intent/simple/peck
name = "peck"
icon_state = "instrike"
attack_verb = list("pecks", "scratches")
animname = "blank22"
blade_class = BCLASS_CUT
hitsound = "smallslash"
chargetime = 0
penfactor = 2
swingdelay = 1
candodge = TRUE
canparry = TRUE
miss_text = "pecks the air!"

/datum/intent/simple/bite
name = "bite"
icon_state = "instrike"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/rogueclothes/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@
name = "leather vest"
icon_state = "leathervest"
item_state = "leathervest"
color = null
color = "#dfa590" // gives a slightly darker and reddish hue to contrast nicely with the leather pants.

// Unique swashbuckler vest. Notice it doesn't cover arms.
/obj/item/clothing/suit/roguetown/armor/leather/vest/sailor
Expand Down
20 changes: 14 additions & 6 deletions code/modules/mob/living/emote.dm
Original file line number Diff line number Diff line change
Expand Up @@ -794,19 +794,27 @@
if(C.silent || !C.can_speak_vocal())
message = "makes a muffled laugh."

/datum/emote/living/look
key = "look"
key_third_person = "looks"
message = "stares blankly."
message_param = "looks at %t."

/datum/emote/living/leap
key = "leap"
key_third_person = "leaps"
message = "leaps!"
restraint_check = TRUE
only_forced_audio = TRUE

/datum/emote/living/look
key = "look"
key_third_person = "looks"
message = "stares blankly."
message_param = "looks at %t."

/datum/emote/living/lower // the emote that signals an animal is tamed. Previously smile was used. The chicken smiles. The pig smiles. Wut.
key = "lower_head"
key_third_person = "lowers_head"
message = "lowers its head."
message_param = "lowers its head."
emote_type = EMOTE_VISIBLE


// ............... M ..................
/datum/emote/living/meditate
key = "meditate"
Expand Down
41 changes: 23 additions & 18 deletions code/modules/mob/living/simple_animal/rogue/creacher/bigrat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,47 @@
icon_state = "rat"
icon_living = "rat"
icon_dead = "rat1"
gender = MALE
pixel_x = -16
pixel_y = -8

faction = list("rats")
emote_hear = list("squeaks.")
emote_see = list("cleans its nose.")
speak_chance = 1
turns_per_move = 3
see_in_dark = 6
move_to_delay = 5
pixel_x = -16
pixel_y = -8
vision_range = 2
aggro_vision_range = 2

botched_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/mince = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/mince = 1,
/obj/item/natural/fur/rous = 1)
perfect_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/steak = 1,
/obj/item/alch/sinew = 1,
/obj/item/natural/fur/rous = 1)

health = ROUS_HEALTH
maxHealth = ROUS_HEALTH
food_type = list(/obj/item/reagent_containers/food/snacks,
/obj/item/bodypart,
/obj/item/organ)

base_intents = list(/datum/intent/simple/bite)
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/mince = 1, /obj/item/natural/fur = 1)
faction = list("rats")
mob_biotypes = MOB_ORGANIC|MOB_BEAST
attack_sound = 'sound/combat/wooshes/punch/punchwoosh (2).ogg'
health = 35
maxHealth = 35
melee_damage_lower = 12
melee_damage_upper = 14
environment_smash = ENVIRONMENT_SMASH_NONE
retreat_distance = 0
minimum_distance = 0
milkies = FALSE
food_type = list(/obj/item/reagent_containers/food/snacks, /obj/item/bodypart, /obj/item/organ)
footstep_type = FOOTSTEP_MOB_BAREFOOT
pooptype = null

STACON = 3
STASTR = 3
STASPD = 6

retreat_distance = 0
minimum_distance = 0
deaggroprob = 0
defprob = 40
defdrain = 5
attack_same = FALSE // Lets two share a room.
retreat_health = 0.3
aggressive = 1
aggressive = TRUE
stat_attack = UNCONSCIOUS
remains_type = /obj/effect/decal/remains/bigrat
body_eater = TRUE
Expand Down
38 changes: 21 additions & 17 deletions code/modules/mob/living/simple_animal/rogue/creacher/bogbug.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,47 @@
icon_state = "bogbug"
icon_living = "bogbug"
icon_dead = "bogbugdead"
gender = MALE

faction = list("bugs")
emote_hear = null
emote_see = null
speak_chance = 1
turns_per_move = 6
see_in_dark = 9
move_to_delay = 1
base_intents = list(/datum/intent/simple/claw, /datum/intent/simple/stab)
vision_range = 9
aggro_vision_range = 9

botched_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/spider= 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcutlet/xeno = 1,
/obj/item/natural/hide = 1)
perfect_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/spider = 2,
/obj/item/natural/hide = 2)

faction = list("bugs")
mob_biotypes = MOB_ORGANIC|MOB_BEAST
health = 160
maxHealth = 160
health = BOGBUG_HEALTH
maxHealth = BOGBUG_HEALTH
food_type = list(/obj/item/reagent_containers/food/snacks/rogue/meat,
/obj/item/bodypart,
/obj/item/organ)

base_intents = list(/datum/intent/simple/claw, /datum/intent/simple/stab)
attack_sound = list('sound/vo/mobs/bogbug/bogbugattack1.ogg','sound/vo/mobs/bogbug/bogbugattack2.ogg','sound/vo/mobs/bogbug/bogbugattack3.ogg')
melee_damage_lower = 25
melee_damage_upper = 35
vision_range = 9
aggro_vision_range = 9
environment_smash = ENVIRONMENT_SMASH_NONE
retreat_distance = 2
minimum_distance = 1
milkies = FALSE
food_type = list(/obj/item/reagent_containers/food/snacks/rogue/meat, /obj/item/bodypart, /obj/item/organ)
footstep_type = FOOTSTEP_MOB_BAREFOOT
pooptype = null

STACON = 13
STASTR = 10
STASPD = 15
STAEND = 15

retreat_distance = 2
minimum_distance = 1
deaggroprob = 0
defprob = 30
defdrain = 8
del_on_deaggro = 999 SECONDS
retreat_health = 0
food = 0
attack_sound = list('sound/vo/mobs/bogbug/bogbugattack1.ogg','sound/vo/mobs/bogbug/bogbugattack2.ogg','sound/vo/mobs/bogbug/bogbugattack3.ogg')

dodgetime = 20
aggressive = 1
// stat_attack = UNCONSCIOUS
Expand Down
52 changes: 30 additions & 22 deletions code/modules/mob/living/simple_animal/rogue/creacher/honeyspider.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,46 @@
icon_state = "honeys"
icon_living = "honeys"
icon_dead = "honeys-dead"
gender = MALE
speak_chance = 1

faction = list("bugs")
turns_per_move = 4
see_in_dark = 6
move_to_delay = 2
vision_range = 5
aggro_vision_range = 5

botched_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/spider = 1,
/obj/item/natural/silk = 1)
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/spider = 1,
/obj/item/reagent_containers/food/snacks/rogue/honey = 1,
/obj/item/natural/silk = 2)
perfect_butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/spider = 2,
/obj/item/reagent_containers/food/snacks/rogue/honey = 2,
/obj/item/natural/silk = 3)

health = SPIDER_HEALTH
maxHealth = SPIDER_HEALTH
food_type = list(/obj/item/bodypart,
/obj/item/organ,
/obj/item/reagent_containers/food/snacks/rogue/meat)

base_intents = list(/datum/intent/simple/bite)
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcutlet/spider = 1, /obj/item/reagent_containers/food/snacks/spiderleg = 8,/obj/item/reagent_containers/food/snacks/rogue/honey = 1, /obj/item/natural/silk = 2)
faction = list("bugs")
mob_biotypes = MOB_ORGANIC|MOB_BEAST
attack_sound = 'sound/combat/wooshes/punch/punchwoosh (2).ogg'
health = 120
maxHealth = 120
attack_sound = list('sound/vo/mobs/spider/attack (1).ogg','sound/vo/mobs/spider/attack (2).ogg','sound/vo/mobs/spider/attack (3).ogg','sound/vo/mobs/spider/attack (4).ogg')
melee_damage_lower = 20
melee_damage_upper = 25
environment_smash = ENVIRONMENT_SMASH_NONE
retreat_distance = 0
minimum_distance = 0
milkies = FALSE
food_type = list(/obj/item/bodypart, /obj/item/organ, /obj/item/reagent_containers/food/snacks/rogue/meat)
footstep_type = FOOTSTEP_MOB_BAREFOOT
pooptype = null

STACON = 6
STASTR = 10
STASPD = 10

retreat_distance = 0
minimum_distance = 0
deaggroprob = 0
defprob = 35
defdrain = 5
attack_same = 0
attack_same = FALSE
retreat_health = 0.2
attack_sound = list('sound/vo/mobs/spider/attack (1).ogg','sound/vo/mobs/spider/attack (2).ogg','sound/vo/mobs/spider/attack (3).ogg','sound/vo/mobs/spider/attack (4).ogg')
aggressive = 1

aggressive = TRUE
stat_attack = UNCONSCIOUS
body_eater = TRUE

Expand All @@ -47,10 +54,11 @@
icon_state = "skallax"
icon_living = "skallax"
icon_dead = "skallax-dead"

health = SPIDER_HEALTH+10
maxHealth = SPIDER_HEALTH+10

base_intents = list(/datum/intent/simple/bite)
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcutlet/spider = 1, /obj/item/reagent_containers/food/snacks/spiderleg = 8)
health = 130
maxHealth = 130

/mob/living/simple_animal/hostile/retaliate/rogue/spider/Initialize()
..()
Expand Down
Loading
Loading