Posts: 2,722 
	Threads: 143 
	Joined: Sep 2012
	
 BYOND Username: Powmonkey
	 
 
	
	
		 (05-29-2018, 12:03 PM)Studenterhue Wrote:  I had this doesn't end up like the potential cyborg patch. 
I mean, this one is done and fully published, so I don't think it can.
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 584 
	Threads: 109 
	Joined: Feb 2018
	
 BYOND Username: MrMagolor
	 
 
	
	
		 (05-29-2018, 12:03 PM)Studenterhue Wrote:  I hope this doesn't end up like the potential cyborg patch. 
Too late
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 480 
	Threads: 35 
	Joined: Jun 2016
	
 BYOND Username: Adhara in Space
	 
 
	
	
		 (07-07-2018, 09:12 AM)MrMagolor Wrote:   (05-29-2018, 12:03 PM)Studenterhue Wrote:  I hope this doesn't end up like the potential cyborg patch.  
Too late cyborg one didnt get finished, this one just hasnt been merged
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 577 
	Threads: 72 
	Joined: Dec 2013
	
 BYOND Username: Erev
	 
 
	
	
		Not a bad patch. I am disappointed by the lower symptom nerf I get it. And not losing your work is well worth the cost. If there is one thing that I'd add it would be an incubator - insert a pathogen and you get a supply of that pathogen that you don't need to worry about culturing in beakers forever. If you want to do multiple strains? You gotta go old school (or buy an upgrade). But for general work? Use the incubator. 
 
I am also hoping that some/most of the new symptoms are neutral or beneficial. Or that more are added. (Though eventually we'll need a way to find a symptom we want....)
	 
	
	
	
	
 
 
	
	
	
		
	Posts: 5,856 
	Threads: 308 
	Joined: May 2014
	
	 
 
	
	
		 (07-07-2018, 02:21 PM)Wraithcraft Wrote:   (07-07-2018, 09:12 AM)MrMagolor Wrote:   (05-29-2018, 12:03 PM)Studenterhue Wrote:  I hope this doesn't end up like the potential cyborg patch.  
Too late cyborg one didnt get finished, this one just hasnt been merged 
I thought the majority of it did, what with the new tools and merging of modules
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 1,000 
	Threads: 40 
	Joined: Sep 2013
	
	 
 
	
	
		I like this. 
Some things I see straight away: - Buy pathogen looks like it can be href exploited, doesn't check machine state after the topic call and doesn't check again after the prompt. Since prompts are blocking, someone could mass order samples bypassing the 30s time.
 
 
- What's with touching admins.txt?
 
 
- Why remove the origin.symptomatic check from coughing?
 
 
 
	 
	
	
	
	
 
 
	
	
	
		
	Posts: 2,722 
	Threads: 143 
	Joined: Sep 2012
	
 BYOND Username: Powmonkey
	 
 
	
	
		 (07-08-2018, 01:44 AM)Spy_Guy Wrote:  I like this. 
Some things I see straight away:- Buy pathogen looks like it can be href exploited, doesn't check machine state after the topic call and doesn't check again after the prompt. Since prompts are blocking, someone could mass order samples bypassing the 30s time.
 
 
- What's with touching admins.txt?
 
 
- Why remove the origin.symptomatic check from coughing?
 
 
 
 - Oh gosh, that sounds bad. What would be the best way to fix that?
 
 
- I added myself as a coder for testing purposes. When I was finished, I removed myself from the list. For some reason, there was no new line character at the end of the file, so git is showing that the last line was removed and subsequently re-added. There's no actual difference.
 
 
- I didn't. I moved it up in scope. Now instead of having a separate check for each stage of the disease, we check to see if the pathogen is symptomatic before even handling the stages. This results not only in cleaner code but also in greater consistency since most other symptoms handle the symptomaticity check identically.
 
 
	 
	
	
	
	
 
 
	
	
	
		
	Posts: 1,000 
	Threads: 40 
	Joined: Sep 2013
	
	 
 
	
	
		 (07-08-2018, 05:51 AM)Noah Buttes Wrote:   (07-08-2018, 01:44 AM)Spy_Guy Wrote:  I like this. 
Some things I see straight away:- Buy pathogen looks like it can be href exploited, doesn't check machine state after the topic call and doesn't check again after the prompt. Since prompts are blocking, someone could mass order samples bypassing the 30s time.
 
 
- What's with touching admins.txt?
 
 
- Why remove the origin.symptomatic check from coughing?
 
 
 
 - Oh gosh, that sounds bad. What would be the best way to fix that?
 
 
- I added myself as a coder for testing purposes. When I was finished, I removed myself from the list. For some reason, there was no new line character at the end of the file, so git is showing that the last line was removed and subsequently re-added. There's no actual difference.
 
 
- I didn't. I moved it up in scope. Now instead of having a separate check for each stage of the disease, we check to see if the pathogen is symptomatic before even handling the stages. This results not only in cleaner code but also in greater consistency since most other symptoms handle the symptomaticity check identically.
 
  
Good ol' line endings. Also fair about the symptomatic check, I missed that when reading through. Looks way better your way.
 Code: else if (href_list["buymats"]) 
+                var/confirm = alert("Are you sure you want to spend 2000 credits to manufacture a new pathogen culture? This will take about thirty seconds", "Confirm Purchase", "Yes", "No") 
+                if (confirm == "Yes") 
+                    var/cost = 2000 
+                    if (cost > wagesystem.research_budget) 
+                        boutput(usr, "<span style=\"color:red\">Insufficient research budget to make that transaction.</span>") 
+                    else 
+                        boutput(usr, "<span style=\"color:blue\">Transaction successful.</span>") 
+                        wagesystem.research_budget -= cost 
+                        machine_state = 1 
+                        icon_state = "synth2" 
+                        src.visible_message("The [src.name] bubbles and begins synthesis.", "You hear a bubbling noise.") 
+                        spawn (300) 
+                            machine_state = 0 
+                            icon_state = "synth1" 
+                            for (var/mob/C in viewers(src)) 
+                                C.show_message("The [src.name] shuts down and ejects a new pathogen sample.", 3) 
+                            new/obj/item/reagent_containers/glass/vial/prepared(src.loc)                 
         show_interface(usr)
 Topic calls have an interesting property. They can actually be made by anyone, at any time, causing the code to run.
 
Now, machine_state = 1 may prevent the url from being shown to a player, but they can still fake a click, if they know how. Hence, there needs to be a check after  else if (href_list["buymats"]) that  machine_state == 0 before continuing.
 
Alert() and Input() also have some interesting properties in that they block the calling proc until they have something to return. Hence, the user may take several actions between alert() is called and when it returns. He may: - Leave the area and use the prompt to do some action remotely.
 
 
- Click the "buymats" link again, queueing up another alert() that blocks
 
 
 
Hence, you need a check for machine_state==0 after both the href_list check and the alert(). You could also have a check that usr in range(1), to prevent remote activation tomfoolery.
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 1,386 
	Threads: 161 
	Joined: Sep 2012
	
	 
 
	
	
		- Good ol' line endings. 
 
Pretty sure that you can fix that diff with: 
git checkout origin/master admins.txt 
Or 
git checkout (last commit hash before you started) admins.txt
	 
	
	
	
	
 
 
	
	
	
		
	Posts: 2,722 
	Threads: 143 
	Joined: Sep 2012
	
 BYOND Username: Powmonkey
	 
 
	
	
		 (07-08-2018, 01:35 PM)Spy_Guy Wrote:  Hence, you need a check for machine_state==0 after both the href_list check and the alert(). You could also have a check that usr in range(1), to prevent remote activation tomfoolery. 
As you mentioned in the discord, the check after href_list is at the top of Topic(). I did, however, go ahead and implement a second check after alert().
	  
	
	
	
	
 
 
	 
 |