3 Commits 028c100e19 ... 7c1446317c

Author SHA1 Message Date
  Kevin_Smarts 7c1446317c Merge remote-tracking branch 'Lokplart/master' 2 weeks ago
  f95Lok 533369a65f [added] implemented dolls discount from Anushka quest 2 weeks ago
  f95Lok 3d2f0ef982 [added] generalized discount functionality through the display loop functions 2 weeks ago

+ 3 - 1
locations/bras.qsrc

@@ -208,6 +208,7 @@ if $ARGS[0] = 'view_bra_item':
 	!! ARGS 1 = action type (wardrobe, bathroom, shop)
 	!! ARGS 2 - bra type
 	!! ARGS 3 - bra index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 
 	cla
 	'<center><img src="<<FUNC(''$bra_image'',  $ARGS[2], ARGS[3])>>"></center>'
@@ -224,7 +225,7 @@ if $ARGS[0] = 'view_bra_item':
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			price = BraPrice
+			price = BraPrice + (BraPrice * ARGS[4]) / 100
 			'Price: <<BraPrice>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money >= price:
@@ -253,6 +254,7 @@ if $ARGS[0] = 'view_bra_item':
 				else
 					'You do not own the matching panties, you can buy this bra and them as a set.'
 					price_set = BraPrice*18/10
+					price_set += (price_set * ARGS[4]) / 100
 					'Price for set: <<price_set>> <b>₽</b>'
 					if money >= price_set:
 						act 'Buy set (cash)':

+ 2 - 0
locations/clothing.qsrc

@@ -1471,6 +1471,7 @@ if $ARGS[0] = 'view_clothing_item':
 	!! ARGS 1 - action type (wardrobe, shop, sell, resize)
 	!! ARGS 2 - clothing type
 	!! ARGS 3 - clothing index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 
 	$swimwear_description = ''
 
@@ -1542,6 +1543,7 @@ if $ARGS[0] = 'view_clothing_item':
 				price = (CloPrice * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[3]]) * 3 / 2
 				price = price / 50 * 50
 			end
+			price += (ClorPrice * ARGS[4]) / 100
 			'Price: <<price>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if CloInhibit > pcs_inhib:

+ 2 - 1
locations/coats.qsrc

@@ -144,6 +144,7 @@ if $ARGS[0] = 'view_coat_item':
 	!! ARGS 1 = action type (draw, shop)
 	!! ARGS 2 - coat type
 	!! ARGS 3 - coat index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 
 	cla
 	'<center><img src="<<FUNC(''$coat_image'',  $ARGS[2], ARGS[3])>>"></center>'
@@ -156,7 +157,7 @@ if $ARGS[0] = 'view_coat_item':
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			price = CoatPrice
+			price = CoatPrice + (CoatPrice * ARGS[4]) / 100
 			'Price: <<CoatPrice>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money >= price:

+ 3 - 1
locations/panties.qsrc

@@ -209,6 +209,7 @@ if $ARGS[0] = 'view_panty_item':
 	!! ARGS 1 = action type (draw, shop)
 	!! ARGS 2 - panty type
 	!! ARGS 3 - panty index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 	
 	cla
 	'<center><img src="<<FUNC(''$panty_image'',  $ARGS[2], ARGS[3])>>"></center>'
@@ -225,7 +226,7 @@ if $ARGS[0] = 'view_panty_item':
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			price = PanPrice
+			price = PanPrice + (PanPrice * ARGS[4]) / 100
 			'Price: <<PanPrice>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money >= price:
@@ -254,6 +255,7 @@ if $ARGS[0] = 'view_panty_item':
 				else
 					'You do not own the matching bra, you can buy it and these panties together as a set.'
 					price_set = PanPrice*18/10
+					price_set += (price_set * ARGS[4]) / 100
 					'Price for set: <<price_set>> <b>₽</b>'
 					if money >= price_set:
 						act 'Buy set (cash)':

+ 2 - 1
locations/piercing_management.qsrc

@@ -143,6 +143,7 @@ end
 ! [1] - action type
 ! [2] - slot
 ! [3] - index
+! [4] - price modifier (0-100, taken as a %)
 if $ARGS[0] = 'view_item':
 	msg 'in item'
 	gs 'piercing_attributes', $ARGS[2], ARGS[3]
@@ -155,7 +156,7 @@ if $ARGS[0] = 'view_item':
 			act 'Return': gt $loc, $loc_arg
 
 		else
-			price = PirPrice
+			price = PirPrice + (PirPrice * ARGS[4]) / 100
 			if pcs_piercings[$ARGS[2]] = 0:
 				price += PirFirst
 				if max(money, karta) < price:

+ 2 - 1
locations/purses.qsrc

@@ -149,6 +149,7 @@ if $ARGS[0] = 'view_purse_item':
 	!! ARGS 1 = action type (home, shop)
 	!! ARGS 2 - purse type
 	!! ARGS 3 - purse index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 
 	cla
 	'<center><img src="<<FUNC(''$purse_image'',  $ARGS[2], ARGS[3])>>"></center>'
@@ -161,7 +162,7 @@ if $ARGS[0] = 'view_purse_item':
 			'You already own this purse.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			price = PursePrice
+			price = PursePrice + (PursePrice * ARGS[4]) / 100
 			'Price: <<PursePrice>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money >= price:

+ 2 - 0
locations/shoes.qsrc

@@ -305,6 +305,7 @@ if $ARGS[0] = 'view_shoe_item':
 	!! ARGS 1 = action type (wardrobe, shop, sell)
 	!! ARGS 2 - shoes type
 	!! ARGS 3 - shoes index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 
 	cla
 	'<center><img src="<<FUNC(''$shoe_image'', $ARGS[2], ARGS[3])>>"></center>'
@@ -327,6 +328,7 @@ if $ARGS[0] = 'view_shoe_item':
 		else
 			price = (ShoPrice * ((5 * ShoQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[3]]) * 3 / 2
 			price = price / 50 * 50
+			price += (price * ARGS[4]) / 100
 			'Price: <<price>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money < price and karta < price:

+ 7 - 5
locations/shop_dolls.qsrc

@@ -47,6 +47,8 @@ if $ARGS[0] = 'browse':
 	''
 	'The store has a small front on a side street, but one glance is all you need to tell this is not your average clothing store. Inside the store, shelves and racks of alternative clothes are crammed into every available space - anybody setting out to find an inch of wall would have their work cut out for them. The checkout counter is near the entrance.'
 
+	if anushkaQW['dolls'] = 2: anushkaQW['discount'] = -10
+
 	act 'View dresses': gt 'shop_dolls', 'dress'
 	act 'View other outfits': gt 'shop_dolls', 'clothing'
 	act 'View shoes': gt 'shop_dolls', 'shoes'
@@ -65,7 +67,7 @@ if $ARGS[0] = 'dress':
 	'<center><b><font color="maroon">Viewing Patchwork Dolls dresses</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'dolls_dress', 3, 'dolls/dress', 'shop', Clothingstock mod 3
+	gs 'shop_utils', 'display_clothes', 'dolls_dress', 3, 'dolls/dress', 'shop', Clothingstock mod 3, anushkaQW['discount']
 
 	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
@@ -78,7 +80,7 @@ if $ARGS[0] = 'clothing':
 	'<center><b><font color="maroon">Viewing Patchwork Dolls clothing</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_clothes', 'dolls_outfits', 2, 'dolls/outfits', 'shop', (Clothingstock / 3) mod 2
+	gs 'shop_utils', 'display_clothes', 'dolls_outfits', 2, 'dolls/outfits', 'shop', (Clothingstock / 3) mod 2, anushkaQW['discount']
 
 	act 'Return': cla & minut += 5 & gt 'shop_dolls', 'browse'
 end
@@ -91,7 +93,7 @@ if $ARGS[0] = 'shoes':
 	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
 	*nl
 
-	gs 'shop_utils', 'display_shoes', 'dolls', 1, 'dolls/shoes', 'shop'
+	gs 'shop_utils', 'display_shoes', 'dolls', 1, 'dolls/shoes', 'shop', 0, anushkaQW['discount']
 
 	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
@@ -101,7 +103,7 @@ if $ARGS[0] = 'purses':
 	menu_off = 0
 	gs 'stat'
 
-	gs 'shop_utils', 'display_purses', 'dolls', 1, 'dolls/purses', 'shop'
+	gs 'shop_utils', 'display_purses', 'dolls', 1, 'dolls/purses', 'shop', 0, anushkaQW['discount']
 
 	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end
@@ -111,7 +113,7 @@ if $ARGS[0] = 'coats':
 	menu_off = 0
 	gs 'stat'
 
-	gs 'shop_utils', 'display_coats', 'dolls', 1, 'dolls/coats', 'shop'
+	gs 'shop_utils', 'display_coats', 'dolls', 1, 'dolls/coats', 'shop', 0, anushkaQW['discount']
 
 	act 'Return': minut += 5 & gt 'shop_dolls', 'browse'
 end

+ 28 - 9
locations/shop_utils.qsrc

@@ -10,7 +10,7 @@ if $ARGS[0] = 'shop':
 
 			if (clothingfilter['quality'] = 0 and CloQuality = shop_display['clo_i']) or (clothingfilter['inhibition'] = 0 and CloInhibit = shop_display['clo_i']) or clothingfilter['number'] = 0:
 				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:
-					$result = '<a href="exec: gt ''clothing'', ''view_clothing_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+					$result = '<a href="exec: gt ''clothing'', ''view_clothing_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 				end
 			end
 		end
@@ -22,7 +22,7 @@ if $ARGS[0] = 'shop':
 
 			if (Shofilter['quality'] = 0 and ShoQuality = shop_display['clo_i']) or Shofilter['number'] = 0:
 				if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
-					$result = '<a href="exec: gt ''shoes'', ''view_shoe_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+					$result = '<a href="exec: gt ''shoes'', ''view_shoe_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 				end
 			end
 		end
@@ -32,7 +32,7 @@ if $ARGS[0] = 'shop':
 			gs 'underwear_attributes', $shop_display['variable'], shop_display['i']
 
 			if (clothingfilter['quality'] = 0 and BraQuality = shop_display['clo_i']) or clothingfilter['number'] = 0:
-				$result = '<a href="exec: gt ''bras'', ''view_bra_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+				$result = '<a href="exec: gt ''bras'', ''view_bra_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 			end
 		end
 
@@ -41,7 +41,7 @@ if $ARGS[0] = 'shop':
 			gs 'underwear_attributes', $shop_display['variable'], shop_display['i']
 
 			if (clothingfilter['quality'] = 0 and PanQuality = shop_display['clo_i']) or clothingfilter['number'] = 0:
-				$result = '<a href="exec: gt ''panties'', ''view_panty_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+				$result = '<a href="exec: gt ''panties'', ''view_panty_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 			end
 		end
 
@@ -50,22 +50,22 @@ if $ARGS[0] = 'shop':
 			gs 'underwear_attributes', $shop_display['variable'], shop_display['i']
 
 			if (clothingfilter['quality'] = 0 and BraQuality = shop_display['clo_i']) or clothingfilter['number'] = 0:
-				$result = '<a href="exec: gt ''underwear_bodysuits'', ''view_bodysuit_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+				$result = '<a href="exec: gt ''underwear_bodysuits'', ''view_bodysuit_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 			end
 		end
 
 	elseif $ARGS[1] = 'coats':
 		if dyneval('result = <<$shop_display[''variable'']>>_coats[shop_display[''i'']]') = 0:
-			$result = '<a href="exec: gt ''coats'', ''view_coat_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+			$result = '<a href="exec: gt ''coats'', ''view_coat_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 		end
 
 	elseif $ARGS[1] = 'purses':
 		if dyneval('result = <<$shop_display[''variable'']>>_purses[shop_display[''i'']]') = 0:
-			$result = '<a href="exec: gt ''purses'', ''view_purse_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
+			$result = '<a href="exec: gt ''purses'', ''view_purse_item'', ''shop'', ''<<$shop_display[''variable'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 		end
 
 	elseif $ARGS[1] = 'func_managed':
-		$result = '<a href="exec: gt ''<<$shop_display[''main_func_name'']>>'', ''view_item'', ''shop'', ''<<$shop_display[''item_type'']>>'', <<shop_display[''i'']>>"><img height="250" src="<<func($shop_display[''main_func_name''], $shop_display[''img_func_name''], shop_display[''i''])>>"></a>'
+		$result = '<a href="exec: gt ''<<$shop_display[''main_func_name'']>>'', ''view_item'', ''shop'', ''<<$shop_display[''item_type'']>>'', <<shop_display[''i'']>>, <<shop_display[''price_modifier'']>>"><img height="250" src="<<func($shop_display[''main_func_name''], $shop_display[''img_func_name''], shop_display[''i''])>>"></a>'
 	
 	end
 
@@ -103,7 +103,8 @@ end
 ! [2] - loop step
 ! [3] - img path
 ! [4] - link type - shop, wardrode, cheat
-! [5] - loop index start offset
+! [5] - loop index start offset {OPTIONAL, defaults to 0}
+! [6] - price modifier {OPTIONAL, defaults to 0}
 ! Populate the 'shop_display_exceptions[]' array with the index of the outfits you want excluded from the display.
 ! gs 'shop_utils', 'display_clothes', 'shop_type', 1, 'path', 'link_type'
 if $ARGS[0] = 'display_clothes':
@@ -117,6 +118,8 @@ if $ARGS[0] = 'display_clothes':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'clothing_QV', 'shop_filter_header'
 	gs 'clothing', 'totals', $shop_display['variable']
 
@@ -156,6 +159,8 @@ if $ARGS[0] = 'display_shoes':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'shoes', 'shop_filter_header'
 	gs 'shoes', 'totals', '<<$shop_display[''variable'']>>_shoes'
 
@@ -195,6 +200,8 @@ if $ARGS[0] = 'display_bras':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'bras', 'shop_filter_header'
 	gs 'bras', 'totals', '<<$shop_display[''variable'']>>_bras'
 
@@ -234,6 +241,8 @@ if $ARGS[0] = 'display_panties':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'panties', 'shop_filter_header'
 	gs 'panties', 'totals', '<<$shop_display[''variable'']>>_panties'
 
@@ -273,6 +282,8 @@ if $ARGS[0] = 'display_bodysuits':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'underwear_bodysuits', 'shop_filter_header'
 	gs 'underwear_bodysuits', 'totals', '<<$shop_display[''variable'']>>_bodysuits'
 
@@ -312,6 +323,8 @@ if $ARGS[0] = 'display_coats':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+
 	gs 'coats', 'totals', '<<$shop_display[''variable'']>>_coats'
 
 	if total <= 0:
@@ -344,6 +357,8 @@ if $ARGS[0] = 'display_purses':
 		$shop_display['item_img_path'] = 'images/pc/items/' + $ARGS[3]
 	end
 
+	shop_display['price_modifier'] = ARGS[6]
+	
 	gs 'purses', 'totals', '<<$shop_display[''variable'']>>_purses'
 
 	if total <= 0:
@@ -370,6 +385,7 @@ end
 !		- 'action_type' (shop, wardrobe, etc)
 ! 		- 'type' 
 !		- 'index'
+!		- 'price modifier' (0-100, taken as percentage. used for increases/decreases in price)
 ! 	- individual functons for each type that return an image of the item based on its index
 ! 
 ! Arguments for this function are:
@@ -379,12 +395,15 @@ end
 ! [4] - image function name
 ! [5] - link type
 ! [6] - loop index start offset {OPTIONAL}
+! [7] - price modifier {OPTIONAL}
 ! Populate the 'shop_display_exceptions[]' array with the index of the outfits you want excluded from the display.
 if $ARGS[0] = 'display_func_managed':
 	$shop_display['main_func_name'] = $ARGS[1]
 	$shop_display['item_type'] = $ARGS[2]
 	$shop_display['img_func_name'] = $ARGS[4]
 
+	shop_display['price_modifier'] = ARGS[7]
+
 
 	total = func($shop_display['main_func_name'], 'totals', $ARGS[2])
 

+ 2 - 1
locations/tattoo_management.qsrc

@@ -108,12 +108,13 @@ end
 ! [1] - action_type
 ! [2] - slot
 ! [3] - index
+! [4] - pric
 if $ARGS[0] = 'view_item':
 	gs 'tattoo_attributes', $ARGS[2], ARGS[3]
 
 	'<center><img src="<<func(''tattoo_management'', ''<<$ARGS[2]>>_image'', ARGS[3])>>"></center>'
 
-	price = TatPrice
+	price = TatPrice + (TatPrice * ARGS[4]) / 100
 
 	if max(money, karta) < price:
 		'You cannot afford this tattoo.'

+ 2 - 1
locations/underwear_bodysuits.qsrc

@@ -166,6 +166,7 @@ if $ARGS[0] = 'view_bodysuit_item':
 	!! ARGS 1 = action type (draw, shop)
 	!! ARGS 2 - bodysuit type
 	!! ARGS 3 - bodysuit index
+	!! ARGS 4 - price modifier (0-100, taken as %) {OPTIONAL}
 	
 	cla
 	'<center><img src="<<FUNC(''$pcs_outfit_image'', $ARGS[2]+''_bodysuits'', ARGS[3])>>"></center>'
@@ -177,7 +178,7 @@ if $ARGS[0] = 'view_bodysuit_item':
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			price = PanPrice
+			price = PanPrice + (PanPrice * ARGS[4]) / 100
 			'Price: <<PanPrice>> <b>₽</b>'
 			act 'Leave': gt $loc, $loc_arg
 			if money >= price: