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 15, 2025
2 parents 48a0a37 + d34325e commit 8a2750c
Show file tree
Hide file tree
Showing 17 changed files with 573 additions and 14 deletions.
9 changes: 7 additions & 2 deletions code/_onclick/item_attack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,18 @@
if(!cont)
return 0
if(DULLING_PICK) //cannot deal damage if not a pick item. aka rock walls

if(user.used_intent.blade_class != BCLASS_PICK)
if(user.used_intent.blade_class != BCLASS_DRILL)
return 0
if(!(user.mobility_flags & MOBILITY_STAND)) // REDMOON ADD START - economy_fix - копать можно только стоя
return FALSE
if(user.patron?.type == /datum/patron/inhumen/matthios) // Бандиты и другие маттиоситы презирают подобный тяжёлый труд
newforce *= 0.1
if(prob(2))
to_chat(user, span_warning(pick("Я служу Маттиосу чтобы заниматься этим дерьмом?..", "А я Малума не разгневаю, что в его камнях копаюсь...", "Я что, лох, чтобы этим заниматься?", "Грабануть было бы легче..."))) // REDMOON ADD END
var/mob/living/miner = user
var/mineskill = miner.mind.get_skill_level(/datum/skill/labor/mining)
newforce = newforce * (8+(mineskill*1.5))
newforce = newforce * (1.5+(mineskill*3.65)) // REDMOON EDIT - economy_fix - скилл шахтёров влияет в 5 раза сильнее, чем раньше - WAS: newforce = newforce * (8+(mineskill*1.5))
shake_camera(user, 1, 1)
miner.mind.add_sleep_experience(/datum/skill/labor/mining, (miner.STAINT*0.2))

Expand Down
7 changes: 5 additions & 2 deletions code/game/objects/structures/roguetown/rogueflora.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,10 +185,13 @@
playsound(src, 'sound/misc/woodhit.ogg', 100, TRUE)
if(!do_after(user, lumber_time, target = user))
return
lumber_amount = rand(lumber_amount, max(lumber_amount, round(skill_level / 2)))
if(!istype(get_area(loc), /area/rogue/outdoors/bog)) // REDMOON ADD START - economy_fix - деревья в окрестностях Рокхилла приносят мало древисины
lumber_amount = 1
else // REDMOON ADD END
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: 10 additions & 5 deletions code/modules/mob/living/carbon/life.dm
Original file line number Diff line number Diff line change
Expand Up @@ -754,9 +754,14 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
var/obj/structure/bed/rogue/bed = locate() in loc
if(bed)
bed_recovery_modifier = bed.sleepy
if(IsSleeping())
recovery_amt = (max_energy * 0.10) * bed_recovery_modifier // Example: max energy 1000 -> 100 energy on ground, 300 on bed
else
recovery_amt = (max_energy * 0.02) * bed_recovery_modifier // Example: max energy 1000 -> 20 energy on ground, 60 on bed

if(IsSleeping()) // REDMOON EDIT - добавлена 1 таблуяция
recovery_amt = (max_energy * 0.015) * bed_recovery_modifier // REDMOON EDIT - 45 секунд в хорошей кровати, около 1.5 минут в плохой с 0 до 100% - WAS: recovery_amt = (max_energy * 0.10) * bed_recovery_modifier // Example: max energy 1000 -> 100 energy on ground, 300 on bed
else // REDMOON EDIT - добавлена 1 таблуяция
recovery_amt = (max_energy * 0.007) * bed_recovery_modifier // REDMOON EDIT - 1.5 минуты за лежание на хорошей кровати, 3 минуты за лежание на убогой кровати - WAS: recovery_amt = (max_energy * 0.02) * bed_recovery_modifier // Example: max energy 1000 -> 20 energy on ground, 60 on bed
else // REDMOON ADD START - сон на полу ЗНАЧИТЕЛЬНО хуже сна в кровати
if(IsSleeping())
recovery_amt = max_energy * 0.005 // 7.5 минут на полный отдых за сон на земле
else
recovery_amt = max_energy * 0.0035 // REDMOON ADD END - 10 минут на полный отдых за лежание на земле без сна, чтобы был смысл искать кровати

energy_add(recovery_amt)
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 any treasure 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
2 changes: 2 additions & 0 deletions modular_redmoon/modules/economy_fixes/shipping.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/datum/supply_pack/rogue/rawmats/iron
cost = 80 // Стратегический материал (а также, повышает ценность шахтёров)
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
Loading

0 comments on commit 8a2750c

Please sign in to comment.