Skip to content

Commit

Permalink
TGS Test Merge (#30)
Browse files Browse the repository at this point in the history
  • Loading branch information
tgstation-server committed Feb 4, 2025
2 parents 32bd303 + f0613ab commit a3e0106
Show file tree
Hide file tree
Showing 15 changed files with 421 additions and 6 deletions.
3 changes: 3 additions & 0 deletions code/game/objects/structures/roguetown/newtree.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@
if(!istype(NT, /turf/open/transparent/openspace) && !(locate(/obj/structure/flora/roguetree/stump) in NT))//if i don't add the stump check it spawns however many zlevels it goes up because of src recursion
new /obj/structure/flora/roguetree/stump(NT)
playsound(src, 'sound/misc/treefall.ogg', 100, FALSE)
if(tree_not_in_bog) // REDMOON ADD START - ECONOMY-FIX // Оповещение для лесоруба, чтобы шёл бить лес
if(prob(20))
visible_message(span_warning(user.client.prefs.be_russian ? "Дерево было уже слишком старым. Лес в болото значительно качественнее..." : "The tree was already too old for good gatherting. The one in the bog would be more profitable...")) // REDMOON ADD END
. = ..()

/obj/structure/flora/newtree/attack_hand(mob/user)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/roguetown/rogueflora.dm
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@
lumber_amount = rand(lumber_amount, max(lumber_amount, round(skill_level / 2)))
var/essense_sound_played = FALSE //This is here so the sound wont play multiple times if the essense itself spawns multiple times
for(var/i = 0; i < lumber_amount; i++)
if(prob(skill_level + user.goodluck(2)))
if(prob(skill_level + user.goodluck(2)) && istype(get_area(loc), /area/rogue/outdoors/bog)) // REDMOON EDIT - ECONOMY-FIX - Дендор не одобряет лесорубство вне болота - WAS: if(prob(skill_level + user.goodluck(2)))
new /obj/item/grown/log/tree/small/essence(get_turf(src))
if(!essense_sound_played)
essense_sound_played = TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/closed/minerals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@

/turf/closed/mineral/random/Initialize()

mineralSpawnChanceList = typelist("mineralSpawnChanceList", mineralSpawnChanceList)
// mineralSpawnChanceList = typelist("mineralSpawnChanceList", mineralSpawnChanceList) -- REDMOON REMOVAL - ECONOMY-FIX - не даёт работать функции check_for_bog_area()

if (display_icon_state)
icon_state = display_icon_state
Expand Down
15 changes: 13 additions & 2 deletions code/modules/roguetown/roguejobs/blacksmith/anvil.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@
if(!hingot.currecipe)
if(!choose_recipe(user))
return
// REDMOON ADD START - economy-fix - проверка на достаточный уровень навыка для продолжения крафта
if(user.mind.get_skill_level(/datum/skill/craft/blacksmithing) < hingot.currecipe.skill_level)
to_chat(user, span_warning(hingot.currecipe.low_skill_message))
return FALSE
// REDMOON ADD END
advance_multiplier = 1 //Manual striking more effective than manual striking.
user.doing = FALSE
spawn(1)
Expand Down Expand Up @@ -120,7 +125,7 @@
return
..()

/obj/machinery/anvil/proc/choose_recipe(user)
/obj/machinery/anvil/proc/choose_recipe(mob/user)
if(!hingot || !hott)
return

Expand Down Expand Up @@ -151,7 +156,13 @@
appro_recipe -= R

if(appro_recipe.len)
var/datum/chosen_recipe = input(user, "Choose A Creation", "Anvil") as null|anything in sortNames(appro_recipe.Copy())
var/datum/anvil_recipe/chosen_recipe = input(user, "Choose A Creation", "Anvil") as null|anything in sortNames(appro_recipe.Copy()) // REDMOON ADD EDIT - economy-fix - обновлён датум для потребностей следующего изменения - WAS: var/datum/chosen_recipe = input(user, "Choose A Creation", "Anvil") as null|anything in sortNames(appro_recipe.Copy())
// REDMOON ADD START - economy-fix - проверка на возможность начать крафт с текущми уровнем навыка
if(chosen_recipe)
if(user.mind.get_skill_level(/datum/skill/craft/blacksmithing) < chosen_recipe.skill_level)
to_chat(user, span_warning("This recipe is too hard for me... I need to be more skilled."))
return FALSE
// REDMOON ADD END
if(!hingot.currecipe && chosen_recipe)
hingot.currecipe = new chosen_recipe.type(hingot)
return TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
req_bar = /obj/item/ingot/steel
created_item = /obj/item/rogueweapon/sword/iron/messer/steel

/datum/anvil_recipe/weapons/iron/dagger
/datum/anvil_recipe/weapons/steel/dagger // REDMOON EDIT - фикс пути для крафта стального кинжала - WAS: /datum/anvil_recipe/weapons/iron/dagger
name = "Dagger"
req_bar = /obj/item/ingot/steel
created_item = /obj/item/rogueweapon/huntingknife/idagger/steel
Expand Down
3 changes: 3 additions & 0 deletions code/modules/roguetown/roguejobs/fisher/rod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,9 @@
update_icon()
return

if(baited.check_for_bait_location()) // REDMOON ADD START - ECONOMY-FIX - рыбачить не в болоте можно разве что за еду
if(prob(5))
to_chat(current_fisherman, user.client.prefs.be_russian ? "Здесь хорошего улова не дождёшься... В реке у болот шансы выше." : "I will not catch anything valuable here, but fish... Bog river would be more fitting.") // REDMOON ADD END
var/caught_thing = pickweight(baited.fishloot)
new caught_thing(current_fisherman.loc)
amt2raise = current_fisherman.STAINT * 2
Expand Down
2 changes: 1 addition & 1 deletion code/modules/roguetown/roguejobs/tailor/tanning.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
if(anchored)
var/skill_level = user.mind.get_skill_level(/datum/skill/craft/hunting)
var/work_time = (120 - (skill_level * 15))
var/pieces_to_spawn = rand(1, min(skill_level + 1, 6)) //Random number from 1 to skill level
var/pieces_to_spawn = skill_level > 3 ? 2 : 1 // REDMOON EDIT - economy_fix - уменьшаем среднее количество добываемой отчищенной кожи - WAS rand(1, min(skill_level + 1, 6)) //Random number from 1 to skill level
var/sound_played = FALSE
to_chat(user, span_warning("I begin scraping the hide's skin..."))
if(!do_after(user, work_time, target = user))
Expand Down
20 changes: 20 additions & 0 deletions modular_redmoon/modules/economy_fixes/items_prices.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/obj/item/reagent_containers/glass/cup/golden
sellprice = 40 // было 50

/obj/item/dildo/gold
sellprice = 30 // было 50. Хватит продавать ИХ

/obj/item/natural/fur
sellprice = 15 // как в стокпайле

/obj/item/natural/hide
sellprice = 15 // нельзя выгодно продать голым на корабле (в обход казначея)

/obj/item/natural/hide/cured
sellprice = 10 // нельзя выгодно продать голым на корабле (в обход казначея)

/obj/item/natural/cured/essence
sellprice = 15 // корм дровосеков

/obj/item/reagent_containers/powder
sellprice = 1 // Фикс возможности перемолоть камень за 2 маммона в пыль за 10 маммонов
21 changes: 21 additions & 0 deletions modular_redmoon/modules/economy_fixes/mobs_loot.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/mob/living/simple_animal/hostile/retaliate/rogue/goatmale
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/steak = 3, // на 1 меньше
/obj/item/reagent_containers/food/snacks/fat = 1,
/obj/item/natural/hide = 1, // на 1 меньше
/obj/item/natural/fur = 1)

/mob/living/simple_animal/hostile/retaliate/rogue/goat
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/steak = 3, // на 1 меньше
/obj/item/reagent_containers/food/snacks/fat = 2,
/obj/item/natural/hide = 1, // на 1 меньше
/obj/item/natural/fur = 1)

/mob/living/simple_animal/hostile/retaliate/rogue/saiga
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/steak = 3, // на 1 меньше
/obj/item/reagent_containers/food/snacks/fat = 2,
/obj/item/natural/hide = 3) // на 1 меньше

/mob/living/simple_animal/hostile/retaliate/rogue/saigabuck
butcher_results = list(/obj/item/reagent_containers/food/snacks/rogue/meat/steak = 3, // на 1 меньше
/obj/item/reagent_containers/food/snacks/fat = 1,
/obj/item/natural/hide = 3) // на 1 меньше
6 changes: 6 additions & 0 deletions modular_redmoon/modules/economy_fixes/sewing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/datum/crafting_recipe/roguetown/sewing/wizrobeblue
name = "robe (wizard) - (4 cloths, 2 silk, 3 fibers; MASTER)"
reqs = list(/obj/item/natural/cloth = 4,
/obj/item/natural/fibers = 3,
/obj/item/natural/silk = 2)
skill_level = 5
47 changes: 47 additions & 0 deletions modular_redmoon/modules/economy_fixes/smithing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/datum/anvil_recipe
// Сообщение, выдающееся юзеру, если ему не хватает навыка персонажа для крафта на наковальне
var/low_skill_message = "This recipe is too hard for me... I need to be more skilled."

/*
* ЗОЛОТО - Золотым вещам в среднем пятый навык, если они идут на продажу из города или стоят 120+
*/

/datum/anvil_recipe/cutlery
low_skill_message = "This recipe is too hard for me... I need to be more skilled to craft golden cutlery."
skill_level = 5 // Роскошь

/datum/anvil_recipe/valuables/gold
low_skill_message = "This recipe is too hard for me... I need to be more skilled to craft golden valuables."
skill_level = 5 // Роскошь

/datum/anvil_recipe/gold_dildo
low_skill_message = "This recipe is too hard for me... I need to be more skilled to craft it."
skill_level = 5 // Псайдона четвертовали за вас

/datum/anvil_recipe/weapons/decsword
skill_level = 4 // Оружие продаётся за себестоимость

/datum/anvil_recipe/weapons/decsaber
skill_level = 4 // Оружие продаётся за себестоимость

/datum/anvil_recipe/weapons/decrapier
skill_level = 4 // Оружие продаётся за себестоимость

/datum/anvil_recipe/weapons/terminus
skill_level = 5 // 2 слитка золота

/*
* СЕРЕБРО - Серебрянным вещам, если они идут на продажу или как драгоценности, четвертый навык
*/

/datum/anvil_recipe/valuables/silver
skill_level = 4 // Роскошь

/datum/anvil_recipe/cutlery/silver
skill_level = 4 // Роскошь

/datum/anvil_recipe/silver_dildo
skill_level = 4 // Псайдона четвертовали за вас

/datum/anvil_recipe/weapons/silver
skill_level = 3 // Оружие продаётся за себестоимость
69 changes: 69 additions & 0 deletions modular_redmoon/modules/economy_fixes/stockpile.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@

/datum/roguestock/stockpile/stone
payout_price = 0
passive_generation = 15

/datum/roguestock/stockpile/gold
payout_price = 15
withdraw_price = 80
export_price = 80

/datum/roguestock/stockpile/silver // Используется в крафте оружия против нечисти И драгоценностях
payout_price = 15
withdraw_price = 65
export_price = 65

/datum/roguestock/stockpile/cured
payout_price = 5
withdraw_price = 10
export_price = 10

/datum/roguestock/stockpile/hide
payout_price = 10
withdraw_price = 15
export_price = 15

/datum/roguestock/stockpile/fur
payout_price = 10
withdraw_price = 15
export_price = 15

/datum/roguestock/stockpile/grain
payout_price = 1

/datum/roguestock/stockpile/oat
payout_price = 1

/datum/roguestock/stockpile/apple
payout_price = 2
withdraw_price = 5

/datum/roguestock/stockpile/meat
payout_price = 5
withdraw_price = 10
export_price = 10

/datum/roguestock/stockpile/beet
payout_price = 2
withdraw_price = 6
export_price = 6

/datum/roguestock/stockpile/cabbage
payout_price = 2
withdraw_price = 6
export_price = 6

/datum/roguestock/stockpile/potato
payout_price = 2
withdraw_price = 6
export_price = 6

/datum/roguestock/stockpile/onion
payout_price = 2
withdraw_price = 6
export_price = 6

/datum/roguestock/stockpile/poultry
payout_price = 5
withdraw_price = 10
export_price = 10
116 changes: 116 additions & 0 deletions modular_redmoon/modules/economy_fixes/tailoring.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@

/datum/crafting_recipe/roguetown/hunting
skill_level = 2
sellprice = 15

// Лёгкие крафты. Не оказывают сильного влияния на игру

/datum/crafting_recipe/roguetown/hunting/belt
name = "Leather Belt - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/gloves
name = "Leather Gloves - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/lcollar
name = "Leather Collar - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/lleash
name = "Leather Leash - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/bracers
name = "Leather Bracers - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/boots
name = "Leather Boots - (1 cured leather; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/pouch
name = "Leather Pouch - (1 cured leather, 1 fibre; APPRENTICE)"
skill_level = 2
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/cloak
name = "Leather Cloak - (2 cured leathers; APPRENTICE)"
skill_level = 2
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/pants
name = "Leather Trousers - (2 cured leathers; APPRENTICE)"
skill_level = 2
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/quiver
name = "Quiver - (2 cured leathers, 2 fibers; APPRENTICE)"
skill_level = 2
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/whip
name = "Leather Whip - (2 cured leathers, 1 stone; APPRENTICE)"
skill_level = 2
sellprice = 30 // 2 шкуры

// Крафты уровня опытного

/datum/crafting_recipe/roguetown/hunting/satchel
name = "Leather Satchel - (2 cured leathers, 1 fiber; JOURNEYMAN)"
skill_level = 3
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/waterskin
name = "Waterskin - (1 cured leather, 2 fibers; JOURNEYMAN)"
skill_level = 3
sellprice = 15 // 1 шкура

/datum/crafting_recipe/roguetown/hunting/powderflask
name = "Powderflask - (2 cured leathers, 1 fibers, 15 syrum of fire; JOURNEYMAN)"
skill_level = 3
sellprice = 35 // 2 шкуры и порох

/datum/crafting_recipe/roguetown/hunting/bulletpouch
name = "Bullet Pouch - (2 cured leathers, 2 fibers; JOURNEYMAN)"
skill_level = 3
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/saddle
name = "Saddle - (2 cured leathers; JOURNEYMAN)"
skill_level = 3
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/bedroll
name = "Bedroll - (2 cured leathers, 2 clothes, 1 rope; JOURNEYMAN)"
skill_level = 3
sellprice = 35 // 2 шкуры и допы

/datum/crafting_recipe/roguetown/hunting/drum
name = "Drum - (1 cured leather, 1 small log; JOURNEYMAN)"
skill_level = 3
sellprice = 15 // 1 шкура

// Крафты уровня охотника. То, за счёт чего он может быть особенно полезен

/datum/crafting_recipe/roguetown/hunting/helmet
name = "Leather Helmet - (2 cured leathers; EXPERT)"
reqs = list(/obj/item/natural/hide/cured = 2)
skill_level = 4
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/armor
name = "Leather Armor - (2 cured leathers; EXPERT)"
skill_level = 4
sellprice = 30 // 2 шкуры

/datum/crafting_recipe/roguetown/hunting/backpack
name = "Leather Backpack - (2 cured leathers, 1 fiber; EXPERT)"
skill_level = 4
sellprice = 45 // 3 шкуры
Loading

0 comments on commit a3e0106

Please sign in to comment.