From 21fbad04bb35dcf9982a4762b582502ecefcde68 Mon Sep 17 00:00:00 2001 From: Crazylemon Date: Wed, 9 Mar 2016 13:36:18 -0800 Subject: [PATCH 1/6] Fixes the RIPLEY objective, and changes R&D's objective to ship disks to cargo --- code/controllers/Processes/shuttles/supply.dm | 4 +++ code/game/jobs/job_objectives/science.dm | 32 ++++++------------- code/game/mecha/mecha_construction_paths.dm | 6 ++++ 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index a32ac4a3d0b..a1d0af01dd7 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -177,6 +177,10 @@ if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost + for(var/mob/M in player_list) + if(M.mind) + for(var/datum/job_objective/further_research/objective in M.mind.job_objectives) + objective.unit_completed(cost) msg += "+[cost]: [tech.name] - new data.
" // Sell max reliablity designs diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 64cd041838c..8f1a07928f4 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -3,32 +3,20 @@ ///////////////////////////////////////////////////////////////////////////////////////// // MAXIMUM SCIENCE -/datum/job_objective/maximize_research - completion_payment = 1000 +/datum/job_objective/further_research + completion_payment = 50 + perunit = 1 -/datum/job_objective/maximize_research/get_description() - var/desc = "Maximize all legal research tech levels." +/datum/job_objective/further_research/get_description() + var/desc = "Research tech levels, and have cargo ship them to centcomm." return desc /datum/job_objective/maximize_research/check_for_completion() - var/obj/machinery/r_n_d/server/server = null - for(var/obj/machinery/r_n_d/server/serber in machines) - if(serber.name == "Core R&D Server") - server = serber - break - if(!server) - return 0 - - for(var/datum/tech/T in server.files.possible_tech) - if(T.max_level==0) // Ignore illegal tech, etc - continue - var/datum/tech/KT = locate(T.type, server.files.known_tech) - if(!KT) - return 0 // Obviously haven't maxed everything if we don't know a tech. - if(KT.level 0) + return 1 + return 0 + ///////////////////////////////////////////////////////////////////////////////////////// // Robotics ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 519005f2cc0..80b883bddd6 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -86,6 +86,9 @@ /datum/construction/mecha/ripley_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder + var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) + if(istype(task)) + task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "ripley0" @@ -575,6 +578,9 @@ /datum/construction/mecha/firefighter_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder + var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) + if(istype(task)) + task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "fireripley0" From 55e527b30376e3375d0948f2ae8686eae7791a9c Mon Sep 17 00:00:00 2001 From: Crazylemon Date: Wed, 9 Mar 2016 13:40:52 -0800 Subject: [PATCH 2/6] light fixes --- code/game/jobs/job/science.dm | 5 ++--- code/game/jobs/job_objectives/science.dm | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 5247727034a..c52a783b3ba 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -20,7 +20,7 @@ // All science-y guys get bonuses for maxing out their tech. required_objectives=list( - /datum/job_objective/maximize_research + /datum/job_objective/further_research ) equip(var/mob/living/carbon/human/H) @@ -58,7 +58,7 @@ // All science-y guys get bonuses for maxing out their tech. required_objectives=list( - /datum/job_objective/maximize_research + /datum/job_objective/further_research ) equip(var/mob/living/carbon/human/H) @@ -94,7 +94,6 @@ required_objectives=list( /datum/job_objective/make_cyborg, -// /datum/job_objective/make_mommi, /datum/job_objective/make_ripley ) diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 8f1a07928f4..77867a63304 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -9,6 +9,7 @@ /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." + desc += "([units_completed] completed.)" return desc /datum/job_objective/maximize_research/check_for_completion() From f2e21ab267c3160265620a15e7103cef66f2161e Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:43:13 -0800 Subject: [PATCH 3/6] Makes everything work --- code/controllers/Processes/shuttles/supply.dm | 1 + code/game/gamemodes/game_mode.dm | 2 +- code/game/jobs/job_objectives/science.dm | 4 ++-- code/game/mecha/mecha_construction_paths.dm | 8 ++------ 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index a1d0af01dd7..e5416d585f1 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -174,6 +174,7 @@ var/datum/tech/tech = disk.stored var/cost = tech.getCost(shuttle_master.techLevels[tech.id]) + world << "Disk tech: [tech.id], Disk worth: [cost]" if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 45fb9284638..447abac00e1 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -120,7 +120,7 @@ msg="Task #[count] completed! " if(pay>0) if(M.mind.initial_account) - M.mind.initial_account.money += objective.completion_payment + M.mind.initial_account.money += pay var/datum/transaction/T = new() T.target_name = "[command_name()] Payroll" T.purpose = "Payment" diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 77867a63304..eb646e6d2b1 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -5,7 +5,7 @@ // MAXIMUM SCIENCE /datum/job_objective/further_research completion_payment = 50 - perunit = 1 + per_unit = 5 /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." @@ -17,7 +17,7 @@ if(shuttle_master.techLevels[tech] > 0) return 1 return 0 - + ///////////////////////////////////////////////////////////////////////////////////////// // Robotics ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 80b883bddd6..08d0541bfb5 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -86,9 +86,6 @@ /datum/construction/mecha/ripley_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder - var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) - if(istype(task)) - task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "ripley0" @@ -100,6 +97,7 @@ /datum/construction/reversible/mecha/ripley result = "/obj/mecha/working/ripley" + taskpath = /datum/job_objective/make_ripley steps = list( //1 list("key"=/obj/item/weapon/weldingtool, @@ -578,9 +576,6 @@ /datum/construction/mecha/firefighter_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder - var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) - if(istype(task)) - task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "fireripley0" @@ -591,6 +586,7 @@ /datum/construction/reversible/mecha/firefighter result = "/obj/mecha/working/ripley/firefighter" + taskpath = /datum/job_objective/make_ripley steps = list( //1 list("key"=/obj/item/weapon/weldingtool, From 3d2de0a3ad9e7a3ee25202931aefe0fc637c05f6 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:51:47 -0800 Subject: [PATCH 4/6] So that research doesn't become stupid rich for their job --- code/game/gamemodes/game_mode.dm | 3 ++- code/game/jobs/job_objectives/science.dm | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 447abac00e1..e5687ba2050 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -114,6 +114,7 @@ msg="We see that you completed [newunits] new unit[newunits>1?"s":""] for Task #[count]! " pay=objective.completion_payment * newunits objective.units_compensated += newunits + objective.is_completed() // So we don't get many messages regarding completion else if(!objective.completed) if(objective.is_completed()) pay=objective.completion_payment @@ -124,7 +125,7 @@ var/datum/transaction/T = new() T.target_name = "[command_name()] Payroll" T.purpose = "Payment" - T.amount = objective.completion_payment + T.amount = pay T.date = current_date_string T.time = worldtime2text() T.source_terminal = "\[CLASSIFIED\] Terminal #[rand(111,333)]" diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index eb646e6d2b1..4067fd7aebc 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -4,8 +4,8 @@ // MAXIMUM SCIENCE /datum/job_objective/further_research - completion_payment = 50 - per_unit = 5 + completion_payment = 5 + per_unit = 1 /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." From 621c28aa6459b930a5b3c096ffbea7fb8fa231c3 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:52:30 -0800 Subject: [PATCH 5/6] Makes ripley objective more clear --- code/game/jobs/job_objectives/science.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 4067fd7aebc..ac646b24080 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -40,6 +40,6 @@ per_unit = 1 /datum/job_objective/make_ripley/get_description() - var/desc = "Make a Ripley." + var/desc = "Make a Ripley or Firefighter." desc += "([units_completed] created.)" return desc \ No newline at end of file From 82edb1269c7d592665938a67fb17634f396a0ee3 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:54:06 -0800 Subject: [PATCH 6/6] No no no debug prints --- code/controllers/Processes/shuttles/supply.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index e5416d585f1..a1d0af01dd7 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -174,7 +174,6 @@ var/datum/tech/tech = disk.stored var/cost = tech.getCost(shuttle_master.techLevels[tech.id]) - world << "Disk tech: [tech.id], Disk worth: [cost]" if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost