From c43b989e7d1b4a20d51fbda819ffb1592f71ce2e Mon Sep 17 00:00:00 2001
From: Svornost <11434-svornost@users.noreply.gitgud.io>
Date: Thu, 26 Mar 2020 19:12:28 -0700
Subject: [PATCH] Get rid of obsolete widgets <<CorpDevBuySell>>,
 <<CreateSlaveByOrigin>> and <<AddMarketOrigins>>.

---
 src/pregmod/widgets/economyWidgets.tw | 133 --------------------------
 src/pregmod/widgets/marketWidgets.tw  |  38 --------
 2 files changed, 171 deletions(-)
 delete mode 100644 src/pregmod/widgets/marketWidgets.tw

diff --git a/src/pregmod/widgets/economyWidgets.tw b/src/pregmod/widgets/economyWidgets.tw
index e4de275dca6..8bb509efc59 100644
--- a/src/pregmod/widgets/economyWidgets.tw
+++ b/src/pregmod/widgets/economyWidgets.tw
@@ -458,136 +458,3 @@
 	<</if>>
 	<</if>>
 <</widget>>
-
-/* Call with <<CorpDevBuySell "asset" "Numasset">> TODO: replace eval parse with appropriate functions */
-<<widget "CorpDevBuySell">>
-<<set _textboxMLArg = '_'+$args[1]>>
-| Trade Qty
-<<textbox `'_Num' + $args[0]` `eval(parse('_Num' + $args[0]))`>><<script>>setTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>:
-<<link "Buy">>
-	<<if !Number.isInteger(Number.parseFloat(eval(parse('_Num' + $args[0]))))>> /* Checks if _Numasset is string */
-/* Buy all */
-		<<if ["all", "max"].includes(State.temporary[$args[1]].toLowerCase())>>
-			<<set State.temporary[$args[1]] = Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500))>>
-			<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-				Bought <<print num(Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500)))>> units for <<print cashFormat(Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500))*500*State.variables[$args[0]+"AssetPrice"])>>
-			<</replace>>
-			<<set State.variables[$args[0]+"Assets"] += (eval(parse('_Num' + $args[0]))) * 500>>
-			<<set $corp.Cash -= (eval(parse('_Num' + $args[0]))) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-			<<replace '#cashOnHand'>>
-				<<print cashFormat($corp.Cash)>>
-			<</replace>>
-			<<replace `'#'+$args[0]+'AssetsDisp'`>>
-				<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<print num(Math.floor(State.variables[$args[0]+"Assets"]/500))>> unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-			<</replace>>
-			<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-		<<else>>
-/* Error if decimal or not "all" or "max" string */
-			<<replace `'#'+$args[0]+'AssetsPurchasing'`>> Please input a round number. <</replace>>
-		<</if>>
-/* Negative number, try again */
-	<<elseif Number.parseFloat(eval(parse('_Num' + $args[0]))) < 0>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>Please input a positive number.<</replace>>
-/* Buy % */
-	<<elseif State.temporary[$args[1]].toString().includes("%")>>
-		<<set _DesPerc = State.temporary[$args[1]]>>
-		<<set State.temporary[$args[1]] = Math.floor((Math.clamp((Number.parseFloat(State.temporary[$args[1]])/100),0,1)*$corp.Cash)/(State.variables[$args[0]+"AssetPrice"] * 500))>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-			Purchased <<print num(State.temporary[$args[1]])>> units (<<print num((State.temporary[$args[1]]*(State.variables[$args[0]+"AssetPrice"] * 50000)/$corp.Cash).toFixed(2))>>% of cash, desired was _DesPerc)
-		<</replace>>
-		<<set State.variables[$args[0]+"Assets"] += (eval(parse('_Num' + $args[0]))) * 500>>
-		<<set $corp.Cash -= (eval(parse('_Num' + $args[0]))) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-		<<replace '#cashOnHand'>>
-			<<print cashFormat($corp.Cash)>>
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsDisp'`>>
-			<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<print num(Math.floor(State.variables[$args[0]+"Assets"]/500))>> unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-		<</replace>>
-		<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-/* Successful buy */
-	<<elseif (eval(parse('_Num' + $args[0]))) * 500 * State.variables[$args[0]+"AssetPrice"] < $corp.Cash>>
-		<<set State.variables[$args[0]+"Assets"] += (eval(parse('_Num' + $args[0]))) * 500>>
-		<<set $corp.Cash -= (eval(parse('_Num' + $args[0]))) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-		<<replace '#cashOnHand'>>
-			<<print cashFormat($corp.Cash)>>
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsDisp'`>>
-			<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<print num(Math.floor(State.variables[$args[0]+"Assets"]/500))>> unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>><</replace>>
-/* Unsuccessful buy but have enough cash for more than 1 unit */
-	<<elseif $corp.Cash > 500 * State.variables[$args[0]+"AssetPrice"]>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-			The corp can only buy <<print num(Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500)))>> more unit<<if Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500)) > 1 >>s<</if>> of $args[0] assets.
-		<</replace>>
-		<<set State.temporary[$args[1]] = Math.floor($corp.Cash/(State.variables[$args[0]+"AssetPrice"] * 500))>>
-		<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-/* Unsuccessful buy */
-	<<else>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>There are insufficient funds for additional purchases.<</replace>>
-	<</if>>
-<</link>>
-| <<link "Sell">>
-	<<if !Number.isInteger(Number.parseFloat(eval(parse('_Num' + $args[0]))))>>
-/* Sell all */
-		<<if ["all", "max"].includes(State.temporary[$args[1]].toLowerCase())>>
-			<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-				Sold <<print num(Math.ceil((State.variables[$args[0]+"Assets"]-500)/500))>> units for <<print cashFormat(Math.ceil((State.variables[$args[0]+"Assets"]-500)/500)*500*State.variables[$args[0]+"AssetPrice"])>>
-			<</replace>>
-			<<set State.temporary[$args[1]] = Math.ceil((State.variables[$args[0]+"Assets"]-500)/500)>>
-			<<set State.variables[$args[0]+"Assets"] -= eval(parse('_Num' + $args[0])) * 500>>
-			<<set $corp.Cash += eval(parse('_Num' + $args[0])) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-			<<replace '#cashOnHand'>>
-				<<print cashFormat($corp.Cash)>>
-			<</replace>>
-			<<replace `'#'+$args[0]+'AssetsDisp'`>>
-				<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<if Math.ceil(State.variables[$args[0]+"Assets"]/500) < 1>> < 1 <<else>><<print num(Math.ceil(State.variables[$args[0]+"Assets"]/500))>> <</if>>unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-			<</replace>>
-			<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-/* Error if decimal or not "all" or "max" string */
-		<<else>>
-			<<replace `'#'+$args[0]+'AssetsPurchasing'`>> Please input a round number. <</replace>>
-		<</if>>
-/* Negative number, try again */
-	<<elseif Number.parseFloat(eval(parse('_Num' + $args[0]))) < 0>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>Please input a positive number.<</replace>>
-/* Sell % */
-	<<elseif State.temporary[$args[1]].toString().includes("%")>>
-		<<set _DesPerc = State.temporary[$args[1]]>>
-		<<set State.temporary[$args[1]] = Math.ceil((State.variables[$args[0]+"Assets"]-500)/500*(Math.clamp((Number.parseFloat(State.temporary[$args[1]])/100),0,1)))>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-			Sold <<print num(State.temporary[$args[1]])>> units (<<print num((State.temporary[$args[1]]*100/((State.variables[$args[0]+"Assets"]-500)/500)).toFixed(2))>>% of $args[0] assets, desired was _DesPerc)
-		<</replace>>
-		<<set State.variables[$args[0]+"Assets"] -= eval(parse('_Num' + $args[0])) * 500>>
-		<<set $corp.Cash += eval(parse('_Num' + $args[0])) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-		<<replace '#cashOnHand'>>
-			<<print cashFormat($corp.Cash)>>
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsDisp'`>>
-			<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<if Math.ceil(State.variables[$args[0]+"Assets"]/500) < 1>> < 1 <<else>><<print num(Math.ceil(State.variables[$args[0]+"Assets"]/500))>> <</if>>unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-		<</replace>>
-		<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-/* Successful sell */
-	<<elseif State.variables[$args[0]+"Assets"] > 500 && eval(parse('_Num' + $args[0])) * 500 < State.variables[$args[0]+"Assets"]>>
-		<<set State.variables[$args[0]+"Assets"] -= eval(parse('_Num' + $args[0])) * 500>>
-		<<set $corp.Cash += eval(parse('_Num' + $args[0])) * 500 * State.variables[$args[0]+"AssetPrice"]>>
-		<<replace '#cashOnHand'>>
-			<<print cashFormat($corp.Cash)>>
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsDisp'`>>
-			<<print cashFormat(State.variables[$args[0]+"AssetPrice"] * State.variables[$args[0]+"Assets"])>> (<<if (State.variables[$args[0]+"Assets"]/500) < 1>> < 1 <<else>><<print num(Math.ceil(State.variables[$args[0]+"Assets"]/500))>> <</if>>unit<<if State.variables[$args[0]+"Assets"]/500 > 1>>s<</if>>)
-		<</replace>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>><</replace>>
-/* Unsuccessful sell but have enough assets for more than 1 unit */
-	<<elseif State.variables[$args[0]+"Assets"] > 500>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>
-			The corp can only sell <<print num(Math.ceil((State.variables[$args[0]+"Assets"]-500)/500))>> more unit<<if Math.ceil((State.variables[$args[0]+"Assets"]-500)/500) > 1 >>s<</if>> of $args[0] assets.
-		<</replace>>
-		<<set State.temporary[$args[1]] = Math.ceil((State.variables[$args[0]+"Assets"]-500)/500)>>
-		<<replace `'#'+'controls'+$args[0]`>><<CorpDevBuySell $args[0] $args[1]>><</replace>><<script>>setReplaceTextboxMaxLength(State.temporary["textboxMLArg"], 10);<</script>>
-/* Unsuccessful sell */
-	<<else>>
-		<<replace `'#'+$args[0]+'AssetsPurchasing'`>>The corp cannot sell any more $args[0] assets.<</replace>>
-	<</if>>
-<</link>>
-<</widget>>
diff --git a/src/pregmod/widgets/marketWidgets.tw b/src/pregmod/widgets/marketWidgets.tw
deleted file mode 100644
index 517b15aca8f..00000000000
--- a/src/pregmod/widgets/marketWidgets.tw
+++ /dev/null
@@ -1,38 +0,0 @@
-:: Market Widgets [widget nobr]
-
-/*
-* Look for widgets in passages tagged with "market:marketname" which
-* end in "Populate" and calls them all with the second argument
-* (an "origins" array) as argument.
-*
-* Call like <<AddMarketOrigins "marketname" _possibleOrigins>>
-*/
-
-<<widget "AddMarketOrigins">>
-<<if _.isString($args[0]) && _.isArray($args[1])>>
-	<<set _sanityCheck = '>>', /* to appease sanityCheck */
-		_widgets = _(Story.widgets)
-		.filter(function(wp) { return wp.tags.includes('market:' + $args[0]); })
-		.flatMap(function(wp) {
-			var re = RegExp('<<widget\\s+"([^"]+Populate)"\\s*>>', 'g');
-			var match, result = [];
-			while(match = re.exec(wp.text)) { result.push(match[1]); }
-			return result; })
-		.value()>>
-	<<silently>><<for _widget range _widgets>>
-		<<= "<<" + _widget + " $args[1]>>">>
-	<</for>><</silently>>
-<</if>>
-<</widget>>
-
-<<widget "CreateSlaveByOrigin">>
-<<silently>>
-	<<if _.isObject($args[0]) && _.isString($args[0].widget)>>
-		<<= "<<" + $args[0].widget + " $args[0]>>">>
-	<<elseif _.isString($args[0])>>
-		<<= "<<" + $args[0] + " $args[0]>>">>
-	<<else>>
-		<<include "Generate Random Slave">>
-	<</if>>
-<</silently>>
-<</widget>>
-- 
GitLab