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

Новый эффект золотого слайма #8534

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 3 additions & 1 deletion code/modules/reagents/Chemistry-Recipes.dm
Expand Up @@ -1137,7 +1137,9 @@
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))*/
holder.my_atom.visible_message("<span class='warning'>The slime core fizzles disappointingly,</span>")
var/list/fossels = list(/obj/item/weapon/fossil/bone, /obj/item/weapon/fossil/shell, /obj/item/weapon/fossil/skull, /obj/item/weapon/fossil/skull/horned)
var/chosen = pick(fossels)
new chosen (get_turf(holder.my_atom))

//Silver
/datum/chemical_reaction/slimebork
Expand Down
48 changes: 48 additions & 0 deletions code/modules/research/experiment.dm
Expand Up @@ -51,6 +51,7 @@
var/list/saved_slimecores = list()
//xenoarcheology stuff
var/list/saved_artifacts = list()
var/list/saved_simple_animals = list()

/datum/experiment_data/proc/init_known_tech()
for(var/tech in tech_points_rarity)
Expand Down Expand Up @@ -164,6 +165,45 @@
points += reward
saved_slimecores += core

for(var/animal in I.scanned_simple_animals)
if(animal in saved_simple_animals)
continue

var/reward = 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можешь еще добавить прикол, что за сканирование живого моба очки увеличиваются.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Подумаю как.

switch(animal)
if(/mob/living/simple_animal/hostile/diyaab)
reward = 2000
if(/mob/living/simple_animal/hostile/shantak)
reward = 3000
if(/mob/living/simple_animal/hostile/samak)
reward = 4000
if(/mob/living/simple_animal/yithian)
reward = 1000
if(/mob/living/simple_animal/tindalos)
reward = 1000
Comment on lines +174 to +183
Copy link
Member

@KIBORG04 KIBORG04 Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

почему у них(мирно-мобов из окаменелостей) вообще разная цена..

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Разные мобы и разное ХП у них. К тому же некоторые агрессивны

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так может будешь скейлить очки от хп, а не от цифры тут? Для меня логика распределения не ясна и не очевидна.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А, у мирномобов... Они одинаковы, только спрайт разный. А сделать так, чтобы с каждого из них можно было получить очки и при этом не делать проверку на каждого по отдельности - я не знаю.

А про скейл... Это действительно необходимо?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ты сам пишешь, что распределение поинтов основано на хп и агрессии, а не на редкости. Так почему бы это и не указать в коде?

if(/mob/living/simple_animal/hostile/giant_spider)
reward = 5000
if(/mob/living/simple_animal/hostile/xenomorph)
reward = 5000
if(/mob/living/simple_animal/hostile/creature)
reward = 4000
if(/mob/living/simple_animal/borer)
reward = 5000
if(/mob/living/simple_animal/hulk)
reward = 10000
Comment on lines +192 to +193
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

чет завышено за довольно легкую фигню

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

За труп избитый халком дают столько же. Не слишком логично, что за него самого дают меньше

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Халка можно получить в любом раунде, а паука если повезет. То же и про алиенов с борерами

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Паука можно получить в каждом раунде через археологию. Как и аленей.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(нет)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так ведь да... Через те же ископаемые они добываются. Но вообщем-то снизить готов, скажи насколько

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Яб поставил тыщи 2.

Ты сравниваешь халка, которого некоторые получают в первые 20 минут игры и ископаемые, которые копаются рандомно на астеройде кисточками, так ещё потом и через клонилку нужно гены составлять. Так ещё и спрос на ископаемые отсутствует

if(/mob/living/simple_animal/hostile/carp)
reward = 5000
if(/mob/living/simple_animal/hostile/carp/megacarp)
reward = 6000
if(/mob/living/simple_animal/hostile/asteroid/basilisk)
reward = 4000
if(/mob/living/simple_animal/hostile/asteroid/goldgrub)
reward = 3000
if(/mob/living/simple_animal/hostile/asteroid/goliath)
reward = 4000
points += reward
saved_simple_animals += animal

I.clear_data()
return round(points)

Expand Down Expand Up @@ -192,6 +232,9 @@
for(var/core in O.saved_slimecores)
saved_slimecores |= core

for(var/animal in O.saved_simple_animals)
saved_simple_animals |= animal

for(var/interaction_type in saved_best_score)
saved_best_score[interaction_type] = max(saved_best_score[interaction_type], O.saved_best_score[interaction_type])

Expand Down Expand Up @@ -310,6 +353,7 @@
var/list/scanned_artifacts = list()
var/list/scanned_symptoms = list()
var/list/scanned_slimecores = list()
var/list/scanned_simple_animals = list()
var/datablocks = 0

/obj/item/device/science_tool/atom_init()
Expand Down Expand Up @@ -361,6 +405,10 @@
if(!(target.type in scanned_slimecores))
scanned_slimecores += target.type
scanneddata += 1
if(istype(target, /mob/living/simple_animal))
if(!(target.type in scanned_simple_animals))
scanned_simple_animals += target.type
scanneddata += 1

if(scanneddata > 0)
datablocks += scanneddata
Expand Down
Expand Up @@ -118,7 +118,7 @@
dat += "<tr>"
var/num_correct = 0
for(var/curindex = 1, curindex <= 5, curindex++)
var/bgcolour = "#ffffff"//white ffffff, red ff0000
var/bgcolour = "#ff0000"//white ffffff, red ff0000

//background colour hints at correct positioning
if(manually_placed_genomes[sequence_num][curindex])
Expand Down