1
0
Prechádzať zdrojové kódy

Merge remote-tracking branch 'Lokplart/master'

Kevin_Smarts 2 týždňov pred
rodič
commit
86554e06a3
35 zmenil súbory, kde vykonal 2396 pridanie a 1700 odobranie
  1. 32 0
      glife.qproj
  2. 13 0
      locations/_attributes_piercing_brow.qsrc
  3. 101 0
      locations/_attributes_piercing_ears.qsrc
  4. 33 0
      locations/_attributes_piercing_lip.qsrc
  5. 21 0
      locations/_attributes_piercing_navel.qsrc
  6. 33 0
      locations/_attributes_piercing_nipples.qsrc
  7. 33 0
      locations/_attributes_piercing_nose.qsrc
  8. 45 0
      locations/_attributes_piercing_pussy.qsrc
  9. 21 0
      locations/_attributes_piercing_tongue.qsrc
  10. 80 0
      locations/_attributes_tattoo_ankle.qsrc
  11. 242 0
      locations/_attributes_tattoo_arm.qsrc
  12. 80 0
      locations/_attributes_tattoo_ass.qsrc
  13. 188 0
      locations/_attributes_tattoo_back.qsrc
  14. 68 0
      locations/_attributes_tattoo_belly.qsrc
  15. 38 0
      locations/_attributes_tattoo_breasts.qsrc
  16. 50 0
      locations/_attributes_tattoo_chest.qsrc
  17. 29 0
      locations/_attributes_tattoo_face.qsrc
  18. 32 0
      locations/_attributes_tattoo_hand.qsrc
  19. 146 0
      locations/_attributes_tattoo_leg.qsrc
  20. 32 0
      locations/_attributes_tattoo_lip.qsrc
  21. 95 0
      locations/_attributes_tattoo_neck.qsrc
  22. 164 0
      locations/_attributes_tattoo_pubic.qsrc
  23. 80 0
      locations/_attributes_tattoo_shoulder.qsrc
  24. 74 0
      locations/_attributes_tattoo_side.qsrc
  25. 101 0
      locations/_attributes_tattoo_tramp.qsrc
  26. 71 0
      locations/_attributes_tattoo_under.qsrc
  27. 158 0
      locations/_attributes_tattoo_wrist.qsrc
  28. 48 48
      locations/clothing.qsrc
  29. 2 2
      locations/gad_market.qsrc
  30. 8 0
      locations/piercing_attributes.qsrc
  31. 70 0
      locations/piercing_management.qsrc
  32. 116 1649
      locations/pirsingsalon.qsrc
  33. 44 1
      locations/shop_utils.qsrc
  34. 7 0
      locations/tattoo_attributes.qsrc
  35. 41 0
      locations/tattoo_management.qsrc

+ 32 - 0
glife.qproj

@@ -255,6 +255,38 @@
 		<Location name="$attributes_danilovich_purses"/>
 		<Location name="$attributes_moncheri_purses"/>
 	</Folder>
+	<Folder name="Piercings">
+		<Location name="$attributes_piercing_ears"/>
+		<Location name="$attributes_piercing_nose"/>
+		<Location name="$attributes_piercing_brow"/>
+		<Location name="$attributes_piercing_lip"/>
+		<Location name="$attributes_piercing_tongue"/>
+		<Location name="$attributes_piercing_navel"/>
+		<Location name="$attributes_piercing_nipples"/>
+		<Location name="$attributes_piercing_pussy"/>
+		<Location name="piercing_attributes"/>
+	</Folder>
+	<Folder name="Tattoos">
+		<Location name="$attributes_tattoo_ankle"/>
+		<Location name="$attributes_tattoo_arm"/>
+		<Location name="$attributes_tattoo_ass"/>
+		<Location name="$attributes_tattoo_back"/>
+		<Location name="$attributes_tattoo_belly"/>
+		<Location name="$attributes_tattoo_breasts"/>
+		<Location name="$attributes_tattoo_chest"/>
+		<Location name="$attributes_tattoo_face"/>
+		<Location name="$attributes_tattoo_hand"/>
+		<Location name="$attributes_tattoo_leg"/>
+		<Location name="$attributes_tattoo_lip"/>
+		<Location name="$attributes_tattoo_neck"/>
+		<Location name="$attributes_tattoo_pubic"/>
+		<Location name="$attributes_tattoo_shoulder"/>
+		<Location name="$attributes_tattoo_side"/>
+		<Location name="$attributes_tattoo_tramp"/>
+		<Location name="$attributes_tattoo_under"/>
+		<Location name="$attributes_tattoo_wrist"/>
+		<Location name="tattoo_attributes"/>
+	</Folder>
 	<Folder name="Accessories">
 		<Location name="sewing"/>
 		<Location name="camera"/>

+ 13 - 0
locations/_attributes_piercing_brow.qsrc

@@ -0,0 +1,13 @@
+# $attributes_piercing_brow
+
+if ARGS[0] = 1:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 2:
+	PirFirst = 5000
+	PirPrice = 2000
+
+end
+
+--- $attributes_piercing_brow ---------------------------------

+ 101 - 0
locations/_attributes_piercing_ears.qsrc

@@ -0,0 +1,101 @@
+# $attributes_piercing_ears
+
+if ARGS[0] = 1:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 2:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 3:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 4:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 5:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 6:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 7:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 8:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 9:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 10:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 11:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 12:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 13:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 14:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 15:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 16:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 17:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 18:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 19:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 20:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 21:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 22:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 23:
+	PirFirst = 3000
+	PirPrice = 1000
+
+elseif ARGS[0] = 24:
+	PirFirst = 3000
+	PirPrice = 1000
+
+end
+
+--- $attributes_piercing_ears ---------------------------------

+ 33 - 0
locations/_attributes_piercing_lip.qsrc

@@ -0,0 +1,33 @@
+# $attributes_piercing_lip
+
+if ARGS[0] = 1:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 2:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 3:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 4:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 5:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 6:
+	PirFirst = 6000
+	PirPrice = 3000
+
+elseif ARGS[0] = 7:
+	PirFirst = 6000
+	PirPrice = 3000
+
+end
+
+--- $attributes_piercing_lip ---------------------------------

+ 21 - 0
locations/_attributes_piercing_navel.qsrc

@@ -0,0 +1,21 @@
+# $attributes_piercing_navel
+
+if ARGS[0] = 1:
+	PirFirst = 8000
+	PirPrice = 5000
+
+elseif ARGS[0] = 2:
+	PirFirst = 8000
+	PirPrice = 5000
+
+elseif ARGS[0] = 3:
+	PirFirst = 8000
+	PirPrice = 5000
+
+elseif ARGS[0] = 4:
+	PirFirst = 8000
+	PirPrice = 5000
+
+end
+
+--- $attributes_piercing_navel ---------------------------------

+ 33 - 0
locations/_attributes_piercing_nipples.qsrc

@@ -0,0 +1,33 @@
+# $attributes_piercing_nipples
+
+if ARGS[0] = 1:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 2:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 3:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 4:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 5:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 6:
+	PirFirst = 10000
+	PirPrice = 6000
+
+elseif ARGS[0] = 7:
+	PirFirst = 10000
+	PirPrice = 6000
+
+end
+
+--- $attributes_piercing_nipples ---------------------------------

+ 33 - 0
locations/_attributes_piercing_nose.qsrc

@@ -0,0 +1,33 @@
+# $attributes_piercing_nose
+
+if ARGS[0] = 1:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 2:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 3:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 4:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 5:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 6:
+	PirFirst = 5000
+	PirPrice = 2000
+
+elseif ARGS[0] = 7:
+	PirFirst = 5000
+	PirPrice = 2000
+
+end
+
+--- $attributes_piercing_nose ---------------------------------

+ 45 - 0
locations/_attributes_piercing_pussy.qsrc

@@ -0,0 +1,45 @@
+# $attributes_piercing_pussy
+
+if ARGS[0] = 1:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 2:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 3:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 4:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 5:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 6:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 7:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 8:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 9:
+	PirFirst = 25000
+	PirPrice = 10000
+
+elseif ARGS[0] = 10:
+	PirFirst = 25000
+	PirPrice = 10000
+
+end
+
+--- $attributes_piercing_pussy ---------------------------------

+ 21 - 0
locations/_attributes_piercing_tongue.qsrc

@@ -0,0 +1,21 @@
+# $attributes_piercing_tongue
+
+if ARGS[0] = 1:
+	PirFirst = 7000
+	PirPrice = 4000
+
+elseif ARGS[0] = 2:
+	PirFirst = 7000
+	PirPrice = 4000
+
+elseif ARGS[0] = 3:
+	PirFirst = 7000
+	PirPrice = 4000
+
+elseif ARGS[0] = 4:
+	PirFirst = 7000
+	PirPrice = 4000
+
+end
+
+--- $attributes_piercing_tongue ---------------------------------

+ 80 - 0
locations/_attributes_tattoo_ankle.qsrc

@@ -0,0 +1,80 @@
+# $attributes_tattoo_ankle
+
+if ARGS[0] = 1:
+	TatPrice = 8000
+
+elseif ARGS[0] = 2:
+	TatPrice = 8000
+
+elseif ARGS[0] = 3:
+	TatPrice = 8000
+
+elseif ARGS[0] = 4:
+	TatPrice = 8000
+
+elseif ARGS[0] = 5:
+	TatPrice = 8000
+
+elseif ARGS[0] = 6:
+	TatPrice = 8000
+
+elseif ARGS[0] = 7:
+	TatPrice = 8000
+
+elseif ARGS[0] = 8:
+	TatPrice = 8000
+
+elseif ARGS[0] = 9:
+	TatPrice = 8000
+
+elseif ARGS[0] = 10:
+	TatPrice = 8000
+
+elseif ARGS[0] = 11:
+	TatPrice = 8000
+
+elseif ARGS[0] = 12:
+	TatPrice = 8000
+
+elseif ARGS[0] = 13:
+	TatPrice = 8000
+
+elseif ARGS[0] = 14:
+	TatPrice = 8000
+
+elseif ARGS[0] = 15:
+	TatPrice = 8000
+
+elseif ARGS[0] = 16:
+	TatPrice = 8000
+
+elseif ARGS[0] = 17:
+	TatPrice = 8000
+
+elseif ARGS[0] = 18:
+	TatPrice = 8000
+
+elseif ARGS[0] = 19:
+	TatPrice = 8000
+
+elseif ARGS[0] = 20:
+	TatPrice = 8000
+
+elseif ARGS[0] = 21:
+	TatPrice = 8000
+
+elseif ARGS[0] = 22:
+	TatPrice = 8000
+
+elseif ARGS[0] = 23:
+	TatPrice = 8000
+
+elseif ARGS[0] = 24:
+	TatPrice = 8000
+
+elseif ARGS[0] = 25:
+	TatPrice = 8000
+
+end
+
+--- $attributes_tattoo_ankle ---------------------------------

+ 242 - 0
locations/_attributes_tattoo_arm.qsrc

@@ -0,0 +1,242 @@
+# $attributes_tattoo_arm
+
+if ARGS[0] = 1:
+	TatPrice = 8000
+
+elseif ARGS[0] = 2:
+	TatPrice = 8000
+
+elseif ARGS[0] = 3:
+	TatPrice = 8000
+
+elseif ARGS[0] = 4:
+	TatPrice = 8000
+
+elseif ARGS[0] = 5:
+	TatPrice = 8000
+
+elseif ARGS[0] = 6:
+	TatPrice = 8000
+
+elseif ARGS[0] = 7:
+	TatPrice = 8000
+
+elseif ARGS[0] = 8:
+	TatPrice = 8000
+
+elseif ARGS[0] = 9:
+	TatPrice = 8000
+
+elseif ARGS[0] = 10:
+	TatPrice = 8000
+
+elseif ARGS[0] = 11:
+	TatPrice = 8000
+
+elseif ARGS[0] = 12:
+	TatPrice = 8000
+
+elseif ARGS[0] = 13:
+	TatPrice = 8000
+
+elseif ARGS[0] = 14:
+	TatPrice = 8000
+
+elseif ARGS[0] = 15:
+	TatPrice = 8000
+
+elseif ARGS[0] = 16:
+	TatPrice = 8000
+
+elseif ARGS[0] = 17:
+	TatPrice = 8000
+
+elseif ARGS[0] = 18:
+	TatPrice = 8000
+
+elseif ARGS[0] = 19:
+	TatPrice = 8000
+
+elseif ARGS[0] = 20:
+	TatPrice = 8000
+
+elseif ARGS[0] = 21:
+	TatPrice = 8000
+
+elseif ARGS[0] = 22:
+	TatPrice = 8000
+
+elseif ARGS[0] = 23:
+	TatPrice = 8000
+
+elseif ARGS[0] = 24:
+	TatPrice = 8000
+
+elseif ARGS[0] = 25:
+	TatPrice = 8000
+
+elseif ARGS[0] = 26:
+	TatPrice = 8000
+
+elseif ARGS[0] = 27:
+	TatPrice = 8000
+
+elseif ARGS[0] = 28:
+	TatPrice = 8000
+
+elseif ARGS[0] = 29:
+	TatPrice = 8000
+
+elseif ARGS[0] = 30:
+	TatPrice = 8000
+
+elseif ARGS[0] = 31:
+	TatPrice = 8000
+
+elseif ARGS[0] = 32:
+	TatPrice = 8000
+
+elseif ARGS[0] = 33:
+	TatPrice = 8000
+
+elseif ARGS[0] = 34:
+	TatPrice = 8000
+
+elseif ARGS[0] = 35:
+	TatPrice = 8000
+
+elseif ARGS[0] = 36:
+	TatPrice = 8000
+
+elseif ARGS[0] = 37:
+	TatPrice = 8000
+
+elseif ARGS[0] = 38:
+	TatPrice = 8000
+
+elseif ARGS[0] = 39:
+	TatPrice = 8000
+
+elseif ARGS[0] = 40:
+	TatPrice = 8000
+
+elseif ARGS[0] = 41:
+	TatPrice = 8000
+
+elseif ARGS[0] = 42:
+	TatPrice = 8000
+
+elseif ARGS[0] = 43:
+	TatPrice = 8000
+
+elseif ARGS[0] = 44:
+	TatPrice = 8000
+
+elseif ARGS[0] = 45:
+	TatPrice = 8000
+
+elseif ARGS[0] = 46:
+	TatPrice = 8000
+
+elseif ARGS[0] = 47:
+	TatPrice = 8000
+
+elseif ARGS[0] = 48:
+	TatPrice = 8000
+
+elseif ARGS[0] = 49:
+	TatPrice = 8000
+
+elseif ARGS[0] = 40:
+	TatPrice = 8000
+
+elseif ARGS[0] = 51:
+	TatPrice = 8000
+
+elseif ARGS[0] = 52:
+	TatPrice = 8000
+
+elseif ARGS[0] = 53:
+	TatPrice = 8000
+
+elseif ARGS[0] = 54:
+	TatPrice = 8000
+
+elseif ARGS[0] = 55:
+	TatPrice = 8000
+
+elseif ARGS[0] = 56:
+	TatPrice = 8000
+
+elseif ARGS[0] = 57:
+	TatPrice = 8000
+
+elseif ARGS[0] = 58:
+	TatPrice = 8000
+
+elseif ARGS[0] = 59:
+	TatPrice = 8000
+
+elseif ARGS[0] = 60:
+	TatPrice = 8000
+
+elseif ARGS[0] = 61:
+	TatPrice = 8000
+
+elseif ARGS[0] = 62:
+	TatPrice = 8000
+
+elseif ARGS[0] = 63:
+	TatPrice = 8000
+
+elseif ARGS[0] = 64:
+	TatPrice = 8000
+
+elseif ARGS[0] = 65:
+	TatPrice = 8000
+
+elseif ARGS[0] = 66:
+	TatPrice = 8000
+
+elseif ARGS[0] = 67:
+	TatPrice = 8000
+
+elseif ARGS[0] = 68:
+	TatPrice = 8000
+
+elseif ARGS[0] = 69:
+	TatPrice = 8000
+
+elseif ARGS[0] = 70:
+	TatPrice = 8000
+
+elseif ARGS[0] = 71:
+	TatPrice = 8000
+
+elseif ARGS[0] = 72:
+	TatPrice = 8000
+
+elseif ARGS[0] = 73:
+	TatPrice = 8000
+
+elseif ARGS[0] = 74:
+	TatPrice = 8000
+
+elseif ARGS[0] = 75:
+	TatPrice = 8000
+
+elseif ARGS[0] = 76:
+	TatPrice = 8000
+
+elseif ARGS[0] = 77:
+	TatPrice = 8000
+
+elseif ARGS[0] = 78:
+	TatPrice = 8000
+
+elseif ARGS[0] = 79:
+	TatPrice = 8000
+
+end
+
+--- $attributes_tattoo_arm ---------------------------------

+ 80 - 0
locations/_attributes_tattoo_ass.qsrc

@@ -0,0 +1,80 @@
+# $attributes_tattoo_ass
+
+if ARGS[0] = 1:
+	TatPrice = 10000
+
+elseif ARGS[0] = 2:
+	TatPrice = 10000
+
+elseif ARGS[0] = 3:
+	TatPrice = 10000
+
+elseif ARGS[0] = 4:
+	TatPrice = 10000
+
+elseif ARGS[0] = 5:
+	TatPrice = 10000
+
+elseif ARGS[0] = 6:
+	TatPrice = 10000
+
+elseif ARGS[0] = 7:
+	TatPrice = 10000
+
+elseif ARGS[0] = 8:
+	TatPrice = 10000
+
+elseif ARGS[0] = 9:
+	TatPrice = 10000
+
+elseif ARGS[0] = 10:
+	TatPrice = 10000
+
+elseif ARGS[0] = 11:
+	TatPrice = 10000
+
+elseif ARGS[0] = 12:
+	TatPrice = 10000
+
+elseif ARGS[0] = 13:
+	TatPrice = 10000
+
+elseif ARGS[0] = 14:
+	TatPrice = 10000
+
+elseif ARGS[0] = 15:
+	TatPrice = 10000
+
+elseif ARGS[0] = 16:
+	TatPrice = 10000
+
+elseif ARGS[0] = 17:
+	TatPrice = 10000
+
+elseif ARGS[0] = 18:
+	TatPrice = 10000
+
+elseif ARGS[0] = 19:
+	TatPrice = 10000
+
+elseif ARGS[0] = 20:
+	TatPrice = 10000
+
+elseif ARGS[0] = 21:
+	TatPrice = 10000
+
+elseif ARGS[0] = 22:
+	TatPrice = 10000
+
+elseif ARGS[0] = 23:
+	TatPrice = 10000
+
+elseif ARGS[0] = 24:
+	TatPrice = 10000
+
+elseif ARGS[0] = 25:
+	TatPrice = 10000
+
+end
+
+--- $attributes_tattoo_ass ---------------------------------

+ 188 - 0
locations/_attributes_tattoo_back.qsrc

@@ -0,0 +1,188 @@
+# $attributes_tattoo_back
+
+if ARGS[0] = 1:
+	TatPrice = 10000
+
+elseif ARGS[0] = 2:
+	TatPrice = 10000
+
+elseif ARGS[0] = 3:
+	TatPrice = 10000
+
+elseif ARGS[0] = 4:
+	TatPrice = 10000
+
+elseif ARGS[0] = 5:
+	TatPrice = 10000
+
+elseif ARGS[0] = 6:
+	TatPrice = 10000
+
+elseif ARGS[0] = 7:
+	TatPrice = 10000
+
+elseif ARGS[0] = 8:
+	TatPrice = 10000
+
+elseif ARGS[0] = 9:
+	TatPrice = 10000
+
+elseif ARGS[0] = 10:
+	TatPrice = 10000
+
+elseif ARGS[0] = 11:
+	TatPrice = 10000
+
+elseif ARGS[0] = 12:
+	TatPrice = 10000
+
+elseif ARGS[0] = 13:
+	TatPrice = 10000
+
+elseif ARGS[0] = 14:
+	TatPrice = 10000
+
+elseif ARGS[0] = 15:
+	TatPrice = 10000
+
+elseif ARGS[0] = 16:
+	TatPrice = 10000
+
+elseif ARGS[0] = 17:
+	TatPrice = 10000
+
+elseif ARGS[0] = 18:
+	TatPrice = 10000
+
+elseif ARGS[0] = 19:
+	TatPrice = 10000
+
+elseif ARGS[0] = 20:
+	TatPrice = 10000
+
+elseif ARGS[0] = 21:
+	TatPrice = 10000
+
+elseif ARGS[0] = 22:
+	TatPrice = 10000
+
+elseif ARGS[0] = 23:
+	TatPrice = 10000
+
+elseif ARGS[0] = 24:
+	TatPrice = 10000
+
+elseif ARGS[0] = 25:
+	TatPrice = 10000
+
+elseif ARGS[0] = 26:
+	TatPrice = 10000
+
+elseif ARGS[0] = 27:
+	TatPrice = 10000
+
+elseif ARGS[0] = 28:
+	TatPrice = 10000
+
+elseif ARGS[0] = 29:
+	TatPrice = 10000
+
+elseif ARGS[0] = 30:
+	TatPrice = 10000
+
+elseif ARGS[0] = 31:
+	TatPrice = 10000
+
+elseif ARGS[0] = 32:
+	TatPrice = 10000
+
+elseif ARGS[0] = 33:
+	TatPrice = 10000
+
+elseif ARGS[0] = 34:
+	TatPrice = 10000
+
+elseif ARGS[0] = 35:
+	TatPrice = 10000
+
+elseif ARGS[0] = 36:
+	TatPrice = 10000
+
+elseif ARGS[0] = 37:
+	TatPrice = 10000
+
+elseif ARGS[0] = 38:
+	TatPrice = 10000
+
+elseif ARGS[0] = 39:
+	TatPrice = 10000
+
+elseif ARGS[0] = 40:
+	TatPrice = 10000
+
+elseif ARGS[0] = 41:
+	TatPrice = 10000
+
+elseif ARGS[0] = 42:
+	TatPrice = 10000
+
+elseif ARGS[0] = 43:
+	TatPrice = 10000
+
+elseif ARGS[0] = 44:
+	TatPrice = 10000
+
+elseif ARGS[0] = 45:
+	TatPrice = 10000
+
+elseif ARGS[0] = 46:
+	TatPrice = 10000
+
+elseif ARGS[0] = 47:
+	TatPrice = 10000
+
+elseif ARGS[0] = 48:
+	TatPrice = 10000
+
+elseif ARGS[0] = 49:
+	TatPrice = 10000
+
+elseif ARGS[0] = 40:
+	TatPrice = 10000
+
+elseif ARGS[0] = 51:
+	TatPrice = 10000
+
+elseif ARGS[0] = 52:
+	TatPrice = 10000
+
+elseif ARGS[0] = 53:
+	TatPrice = 10000
+
+elseif ARGS[0] = 54:
+	TatPrice = 10000
+
+elseif ARGS[0] = 55:
+	TatPrice = 10000
+
+elseif ARGS[0] = 56:
+	TatPrice = 10000
+
+elseif ARGS[0] = 57:
+	TatPrice = 10000
+
+elseif ARGS[0] = 58:
+	TatPrice = 10000
+
+elseif ARGS[0] = 59:
+	TatPrice = 10000
+
+elseif ARGS[0] = 60:
+	TatPrice = 10000
+
+elseif ARGS[0] = 61:
+	TatPrice = 10000
+
+end
+
+--- $attributes_tattoo_back ---------------------------------

+ 68 - 0
locations/_attributes_tattoo_belly.qsrc

@@ -0,0 +1,68 @@
+# $attributes_tattoo_belly
+
+if ARGS[0] = 1:
+	TatPrice = 10000
+
+elseif ARGS[0] = 2:
+	TatPrice = 10000
+
+elseif ARGS[0] = 3:
+	TatPrice = 10000
+
+elseif ARGS[0] = 4:
+	TatPrice = 10000
+
+elseif ARGS[0] = 5:
+	TatPrice = 10000
+
+elseif ARGS[0] = 6:
+	TatPrice = 10000
+
+elseif ARGS[0] = 7:
+	TatPrice = 10000
+
+elseif ARGS[0] = 8:
+	TatPrice = 10000
+
+elseif ARGS[0] = 9:
+	TatPrice = 10000
+
+elseif ARGS[0] = 10:
+	TatPrice = 10000
+
+elseif ARGS[0] = 11:
+	TatPrice = 10000
+
+elseif ARGS[0] = 12:
+	TatPrice = 10000
+
+elseif ARGS[0] = 13:
+	TatPrice = 10000
+
+elseif ARGS[0] = 14:
+	TatPrice = 10000
+
+elseif ARGS[0] = 15:
+	TatPrice = 10000
+
+elseif ARGS[0] = 16:
+	TatPrice = 10000
+
+elseif ARGS[0] = 17:
+	TatPrice = 10000
+
+elseif ARGS[0] = 18:
+	TatPrice = 10000
+
+elseif ARGS[0] = 19:
+	TatPrice = 10000
+
+elseif ARGS[0] = 20:
+	TatPrice = 10000
+
+elseif ARGS[0] = 21:
+	TatPrice = 10000
+
+end
+
+--- $attributes_tattoo_belly ---------------------------------

+ 38 - 0
locations/_attributes_tattoo_breasts.qsrc

@@ -0,0 +1,38 @@
+# $attributes_tattoo_breasts
+
+if ARGS[0] = 1:
+	TatPrice = 15000
+
+elseif ARGS[0] = 2:
+	TatPrice = 15000
+
+elseif ARGS[0] = 3:
+	TatPrice = 15000
+
+elseif ARGS[0] = 4:
+	TatPrice = 15000
+
+elseif ARGS[0] = 5:
+	TatPrice = 15000
+
+elseif ARGS[0] = 6:
+	TatPrice = 15000
+
+elseif ARGS[0] = 7:
+	TatPrice = 15000
+
+elseif ARGS[0] = 8:
+	TatPrice = 15000
+
+elseif ARGS[0] = 9:
+	TatPrice = 15000
+
+elseif ARGS[0] = 10:
+	TatPrice = 15000
+
+elseif ARGS[0] = 11:
+	TatPrice = 15000
+
+end
+
+--- $attributes_tattoo_breasts ---------------------------------

+ 50 - 0
locations/_attributes_tattoo_chest.qsrc

@@ -0,0 +1,50 @@
+# $attributes_tattoo_chest
+
+if ARGS[0] = 1:
+	TatPrice = 12000
+
+elseif ARGS[0] = 2:
+	TatPrice = 12000
+
+elseif ARGS[0] = 3:
+	TatPrice = 12000
+
+elseif ARGS[0] = 4:
+	TatPrice = 12000
+
+elseif ARGS[0] = 5:
+	TatPrice = 12000
+
+elseif ARGS[0] = 6:
+	TatPrice = 12000
+
+elseif ARGS[0] = 7:
+	TatPrice = 12000
+
+elseif ARGS[0] = 8:
+	TatPrice = 12000
+
+elseif ARGS[0] = 9:
+	TatPrice = 12000
+
+elseif ARGS[0] = 10:
+	TatPrice = 12000
+
+elseif ARGS[0] = 11:
+	TatPrice = 12000
+
+elseif ARGS[0] = 12:
+	TatPrice = 12000
+
+elseif ARGS[0] = 13:
+	TatPrice = 12000
+
+elseif ARGS[0] = 14:
+	TatPrice = 12000
+
+elseif ARGS[0] = 15:
+	TatPrice = 12000
+
+end
+
+--- $attributes_tattoo_chest ---------------------------------

+ 29 - 0
locations/_attributes_tattoo_face.qsrc

@@ -0,0 +1,29 @@
+# $attributes_tattoo_face
+
+if ARGS[0] = 1:
+	TatPrice = 10000
+
+elseif ARGS[0] = 2:
+	TatPrice = 10000
+
+elseif ARGS[0] = 3:
+	TatPrice = 10000
+
+elseif ARGS[0] = 4:
+	TatPrice = 10000
+
+elseif ARGS[0] = 5:
+	TatPrice = 10000
+
+elseif ARGS[0] = 6:
+	TatPrice = 10000
+
+elseif ARGS[0] = 7:
+	TatPrice = 10000
+
+elseif ARGS[0] = 8:
+	TatPrice = 10000
+
+end
+
+--- $attributes_tattoo_face ---------------------------------

+ 32 - 0
locations/_attributes_tattoo_hand.qsrc

@@ -0,0 +1,32 @@
+# $attributes_tattoo_hand
+
+if ARGS[0] = 1:
+	TatPrice = 7000
+
+elseif ARGS[0] = 2:
+	TatPrice = 7000
+
+elseif ARGS[0] = 3:
+	TatPrice = 7000
+
+elseif ARGS[0] = 4:
+	TatPrice = 7000
+
+elseif ARGS[0] = 5:
+	TatPrice = 7000
+
+elseif ARGS[0] = 6:
+	TatPrice = 7000
+
+elseif ARGS[0] = 7:
+	TatPrice = 7000
+
+elseif ARGS[0] = 8:
+	TatPrice = 7000
+
+elseif ARGS[0] = 9:
+	TatPrice = 7000
+
+end
+
+--- $attributes_tattoo_hand ---------------------------------

+ 146 - 0
locations/_attributes_tattoo_leg.qsrc

@@ -0,0 +1,146 @@
+# $attributes_tattoo_leg
+
+if ARGS[0] = 1:
+	TatPrice = 10000
+
+elseif ARGS[0] = 2:
+	TatPrice = 10000
+
+elseif ARGS[0] = 3:
+	TatPrice = 10000
+
+elseif ARGS[0] = 4:
+	TatPrice = 10000
+
+elseif ARGS[0] = 5:
+	TatPrice = 10000
+
+elseif ARGS[0] = 6:
+	TatPrice = 10000
+
+elseif ARGS[0] = 7:
+	TatPrice = 10000
+
+elseif ARGS[0] = 8:
+	TatPrice = 10000
+
+elseif ARGS[0] = 9:
+	TatPrice = 10000
+
+elseif ARGS[0] = 10:
+	TatPrice = 10000
+
+elseif ARGS[0] = 11:
+	TatPrice = 10000
+
+elseif ARGS[0] = 12:
+	TatPrice = 10000
+
+elseif ARGS[0] = 13:
+	TatPrice = 10000
+
+elseif ARGS[0] = 14:
+	TatPrice = 10000
+
+elseif ARGS[0] = 15:
+	TatPrice = 10000
+
+elseif ARGS[0] = 16:
+	TatPrice = 10000
+
+elseif ARGS[0] = 17:
+	TatPrice = 10000
+
+elseif ARGS[0] = 18:
+	TatPrice = 10000
+
+elseif ARGS[0] = 19:
+	TatPrice = 10000
+
+elseif ARGS[0] = 20:
+	TatPrice = 10000
+
+elseif ARGS[0] = 21:
+	TatPrice = 10000
+
+elseif ARGS[0] = 22:
+	TatPrice = 10000
+
+elseif ARGS[0] = 23:
+	TatPrice = 10000
+
+elseif ARGS[0] = 24:
+	TatPrice = 10000
+
+elseif ARGS[0] = 25:
+	TatPrice = 10000
+
+elseif ARGS[0] = 26:
+	TatPrice = 10000
+
+elseif ARGS[0] = 27:
+	TatPrice = 10000
+
+elseif ARGS[0] = 28:
+	TatPrice = 10000
+
+elseif ARGS[0] = 29:
+	TatPrice = 10000
+
+elseif ARGS[0] = 30:
+	TatPrice = 10000
+
+elseif ARGS[0] = 31:
+	TatPrice = 10000
+
+elseif ARGS[0] = 32:
+	TatPrice = 10000
+
+elseif ARGS[0] = 33:
+	TatPrice = 10000
+
+elseif ARGS[0] = 34:
+	TatPrice = 10000
+
+elseif ARGS[0] = 35:
+	TatPrice = 10000
+
+elseif ARGS[0] = 36:
+	TatPrice = 10000
+
+elseif ARGS[0] = 37:
+	TatPrice = 10000
+
+elseif ARGS[0] = 38:
+	TatPrice = 10000
+
+elseif ARGS[0] = 39:
+	TatPrice = 10000
+
+elseif ARGS[0] = 40:
+	TatPrice = 10000
+
+elseif ARGS[0] = 41:
+	TatPrice = 10000
+
+elseif ARGS[0] = 42:
+	TatPrice = 10000
+
+elseif ARGS[0] = 43:
+	TatPrice = 10000
+
+elseif ARGS[0] = 44:
+	TatPrice = 10000
+
+elseif ARGS[0] = 45:
+	TatPrice = 10000
+
+elseif ARGS[0] = 46:
+	TatPrice = 10000
+
+elseif ARGS[0] = 47:
+	TatPrice = 10000
+
+end
+
+--- $attributes_tattoo_leg ---------------------------------

+ 32 - 0
locations/_attributes_tattoo_lip.qsrc

@@ -0,0 +1,32 @@
+# $attributes_tattoo_lip
+
+if ARGS[0] = 1:
+	TatPrice = 5000
+
+elseif ARGS[0] = 2:
+	TatPrice = 5000
+
+elseif ARGS[0] = 3:
+	TatPrice = 5000
+
+elseif ARGS[0] = 4:
+	TatPrice = 5000
+
+elseif ARGS[0] = 5:
+	TatPrice = 5000
+
+elseif ARGS[0] = 6:
+	TatPrice = 5000
+
+elseif ARGS[0] = 7:
+	TatPrice = 5000
+
+elseif ARGS[0] = 8:
+	TatPrice = 5000
+
+elseif ARGS[0] = 9:
+	TatPrice = 5000
+
+end
+
+--- $attributes_tattoo_lip ---------------------------------

+ 95 - 0
locations/_attributes_tattoo_neck.qsrc

@@ -0,0 +1,95 @@
+# $attributes_tattoo_neck
+
+if ARGS[0] = 1:
+	TatPrice = 8000
+
+elseif ARGS[0] = 2:
+	TatPrice = 8000
+
+elseif ARGS[0] = 3:
+	TatPrice = 8000
+
+elseif ARGS[0] = 4:
+	TatPrice = 8000
+
+elseif ARGS[0] = 5:
+	TatPrice = 8000
+
+elseif ARGS[0] = 6:
+	TatPrice = 8000
+
+elseif ARGS[0] = 7:
+	TatPrice = 8000
+
+elseif ARGS[0] = 8:
+	TatPrice = 8000
+
+elseif ARGS[0] = 9:
+	TatPrice = 8000
+
+elseif ARGS[0] = 10:
+	TatPrice = 8000
+
+elseif ARGS[0] = 11:
+	TatPrice = 8000
+
+elseif ARGS[0] = 12:
+	TatPrice = 8000
+
+elseif ARGS[0] = 13:
+	TatPrice = 8000
+
+elseif ARGS[0] = 14:
+	TatPrice = 8000
+
+elseif ARGS[0] = 15:
+	TatPrice = 8000
+
+elseif ARGS[0] = 16:
+	TatPrice = 8000
+
+elseif ARGS[0] = 17:
+	TatPrice = 8000
+
+elseif ARGS[0] = 18:
+	TatPrice = 8000
+
+elseif ARGS[0] = 19:
+	TatPrice = 8000
+
+elseif ARGS[0] = 20:
+	TatPrice = 8000
+
+elseif ARGS[0] = 21:
+	TatPrice = 8000
+
+elseif ARGS[0] = 22:
+	TatPrice = 8000
+
+elseif ARGS[0] = 23:
+	TatPrice = 8000
+
+elseif ARGS[0] = 24:
+	TatPrice = 8000
+
+elseif ARGS[0] = 25:
+	TatPrice = 8000
+
+elseif ARGS[0] = 26:
+	TatPrice = 8000
+
+elseif ARGS[0] = 27:
+	TatPrice = 8000
+
+elseif ARGS[0] = 28:
+	TatPrice = 8000
+
+elseif ARGS[0] = 29:
+	TatPrice = 8000
+
+elseif ARGS[0] = 30:
+	TatPrice = 8000
+
+end
+
+--- $attributes_tattoo_neck ---------------------------------

+ 164 - 0
locations/_attributes_tattoo_pubic.qsrc

@@ -0,0 +1,164 @@
+# $attributes_tattoo_pubic
+
+if ARGS[0] = 1:
+	TatPrice = 20000
+
+elseif ARGS[0] = 2:
+	TatPrice = 20000
+
+elseif ARGS[0] = 3:
+	TatPrice = 20000
+
+elseif ARGS[0] = 4:
+	TatPrice = 20000
+
+elseif ARGS[0] = 5:
+	TatPrice = 20000
+
+elseif ARGS[0] = 6:
+	TatPrice = 20000
+
+elseif ARGS[0] = 7:
+	TatPrice = 20000
+
+elseif ARGS[0] = 8:
+	TatPrice = 20000
+
+elseif ARGS[0] = 9:
+	TatPrice = 20000
+
+elseif ARGS[0] = 10:
+	TatPrice = 20000
+
+elseif ARGS[0] = 11:
+	TatPrice = 20000
+
+elseif ARGS[0] = 12:
+	TatPrice = 20000
+
+elseif ARGS[0] = 13:
+	TatPrice = 20000
+
+elseif ARGS[0] = 14:
+	TatPrice = 20000
+
+elseif ARGS[0] = 15:
+	TatPrice = 20000
+
+elseif ARGS[0] = 16:
+	TatPrice = 20000
+
+elseif ARGS[0] = 17:
+	TatPrice = 20000
+
+elseif ARGS[0] = 18:
+	TatPrice = 20000
+
+elseif ARGS[0] = 19:
+	TatPrice = 20000
+
+elseif ARGS[0] = 20:
+	TatPrice = 20000
+
+elseif ARGS[0] = 21:
+	TatPrice = 20000
+
+elseif ARGS[0] = 22:
+	TatPrice = 20000
+
+elseif ARGS[0] = 23:
+	TatPrice = 20000
+
+elseif ARGS[0] = 24:
+	TatPrice = 20000
+
+elseif ARGS[0] = 25:
+	TatPrice = 20000
+
+elseif ARGS[0] = 26:
+	TatPrice = 20000
+
+elseif ARGS[0] = 27:
+	TatPrice = 20000
+
+elseif ARGS[0] = 28:
+	TatPrice = 20000
+
+elseif ARGS[0] = 29:
+	TatPrice = 20000
+
+elseif ARGS[0] = 30:
+	TatPrice = 20000
+
+elseif ARGS[0] = 31:
+	TatPrice = 20000
+
+elseif ARGS[0] = 32:
+	TatPrice = 20000
+
+elseif ARGS[0] = 33:
+	TatPrice = 20000
+
+elseif ARGS[0] = 34:
+	TatPrice = 20000
+
+elseif ARGS[0] = 35:
+	TatPrice = 20000
+
+elseif ARGS[0] = 36:
+	TatPrice = 20000
+
+elseif ARGS[0] = 37:
+	TatPrice = 20000
+
+elseif ARGS[0] = 38:
+	TatPrice = 20000
+
+elseif ARGS[0] = 39:
+	TatPrice = 20000
+
+elseif ARGS[0] = 40:
+	TatPrice = 20000
+
+elseif ARGS[0] = 41:
+	TatPrice = 20000
+
+elseif ARGS[0] = 42:
+	TatPrice = 20000
+
+elseif ARGS[0] = 43:
+	TatPrice = 20000
+
+elseif ARGS[0] = 44:
+	TatPrice = 20000
+
+elseif ARGS[0] = 45:
+	TatPrice = 20000
+
+elseif ARGS[0] = 46:
+	TatPrice = 20000
+
+elseif ARGS[0] = 47:
+	TatPrice = 20000
+
+elseif ARGS[0] = 48:
+	TatPrice = 20000
+
+elseif ARGS[0] = 49:
+	TatPrice = 20000
+
+elseif ARGS[0] = 40:
+	TatPrice = 20000
+
+elseif ARGS[0] = 51:
+	TatPrice = 20000
+
+elseif ARGS[0] = 52:
+	TatPrice = 20000
+
+elseif ARGS[0] = 53:
+	TatPrice = 20000
+
+end
+
+--- $attributes_tattoo_pubic ---------------------------------

+ 80 - 0
locations/_attributes_tattoo_shoulder.qsrc

@@ -0,0 +1,80 @@
+# $attributes_tattoo_shoulder
+
+if ARGS[0] = 1:
+	TatPrice = 8000
+
+elseif ARGS[0] = 2:
+	TatPrice = 8000
+
+elseif ARGS[0] = 3:
+	TatPrice = 8000
+
+elseif ARGS[0] = 4:
+	TatPrice = 8000
+
+elseif ARGS[0] = 5:
+	TatPrice = 8000
+
+elseif ARGS[0] = 6:
+	TatPrice = 8000
+
+elseif ARGS[0] = 7:
+	TatPrice = 8000
+
+elseif ARGS[0] = 8:
+	TatPrice = 8000
+
+elseif ARGS[0] = 9:
+	TatPrice = 8000
+
+elseif ARGS[0] = 10:
+	TatPrice = 8000
+
+elseif ARGS[0] = 11:
+	TatPrice = 8000
+
+elseif ARGS[0] = 12:
+	TatPrice = 8000
+
+elseif ARGS[0] = 13:
+	TatPrice = 8000
+
+elseif ARGS[0] = 14:
+	TatPrice = 8000
+
+elseif ARGS[0] = 15:
+	TatPrice = 8000
+
+elseif ARGS[0] = 16:
+	TatPrice = 8000
+
+elseif ARGS[0] = 17:
+	TatPrice = 8000
+
+elseif ARGS[0] = 18:
+	TatPrice = 8000
+
+elseif ARGS[0] = 19:
+	TatPrice = 8000
+
+elseif ARGS[0] = 20:
+	TatPrice = 8000
+
+elseif ARGS[0] = 21:
+	TatPrice = 8000
+
+elseif ARGS[0] = 22:
+	TatPrice = 8000
+
+elseif ARGS[0] = 23:
+	TatPrice = 8000
+
+elseif ARGS[0] = 24:
+	TatPrice = 8000
+
+elseif ARGS[0] = 25:
+	TatPrice = 8000
+
+end
+
+--- $attributes_tattoo_shoulder ---------------------------------

+ 74 - 0
locations/_attributes_tattoo_side.qsrc

@@ -0,0 +1,74 @@
+# $attributes_tattoo_side
+
+if ARGS[0] = 1:
+	TatPrice = 12000
+
+elseif ARGS[0] = 2:
+	TatPrice = 12000
+
+elseif ARGS[0] = 3:
+	TatPrice = 12000
+
+elseif ARGS[0] = 4:
+	TatPrice = 12000
+
+elseif ARGS[0] = 5:
+	TatPrice = 12000
+
+elseif ARGS[0] = 6:
+	TatPrice = 12000
+
+elseif ARGS[0] = 7:
+	TatPrice = 12000
+
+elseif ARGS[0] = 8:
+	TatPrice = 12000
+
+elseif ARGS[0] = 9:
+	TatPrice = 12000
+
+elseif ARGS[0] = 10:
+	TatPrice = 12000
+
+elseif ARGS[0] = 11:
+	TatPrice = 12000
+
+elseif ARGS[0] = 12:
+	TatPrice = 12000
+
+elseif ARGS[0] = 13:
+	TatPrice = 12000
+
+elseif ARGS[0] = 14:
+	TatPrice = 12000
+
+elseif ARGS[0] = 15:
+	TatPrice = 12000
+
+elseif ARGS[0] = 16:
+	TatPrice = 12000
+
+elseif ARGS[0] = 17:
+	TatPrice = 12000
+
+elseif ARGS[0] = 18:
+	TatPrice = 12000
+
+elseif ARGS[0] = 19:
+	TatPrice = 12000
+
+elseif ARGS[0] = 20:
+	TatPrice = 12000
+
+elseif ARGS[0] = 21:
+	TatPrice = 12000
+
+elseif ARGS[0] = 22:
+	TatPrice = 12000
+
+elseif ARGS[0] = 23:
+	TatPrice = 12000
+
+end
+
+--- $attributes_tattoo_side ---------------------------------

+ 101 - 0
locations/_attributes_tattoo_tramp.qsrc

@@ -0,0 +1,101 @@
+# $attributes_tattoo_tramp
+
+if ARGS[0] = 1:
+	TatPrice = 12000
+
+elseif ARGS[0] = 2:
+	TatPrice = 12000
+
+elseif ARGS[0] = 3:
+	TatPrice = 12000
+
+elseif ARGS[0] = 4:
+	TatPrice = 12000
+
+elseif ARGS[0] = 5:
+	TatPrice = 12000
+
+elseif ARGS[0] = 6:
+	TatPrice = 12000
+
+elseif ARGS[0] = 7:
+	TatPrice = 12000
+
+elseif ARGS[0] = 8:
+	TatPrice = 12000
+
+elseif ARGS[0] = 9:
+	TatPrice = 12000
+
+elseif ARGS[0] = 10:
+	TatPrice = 12000
+
+elseif ARGS[0] = 11:
+	TatPrice = 12000
+
+elseif ARGS[0] = 12:
+	TatPrice = 12000
+
+elseif ARGS[0] = 13:
+	TatPrice = 12000
+
+elseif ARGS[0] = 14:
+	TatPrice = 12000
+
+elseif ARGS[0] = 15:
+	TatPrice = 12000
+
+elseif ARGS[0] = 16:
+	TatPrice = 12000
+
+elseif ARGS[0] = 17:
+	TatPrice = 12000
+
+elseif ARGS[0] = 18:
+	TatPrice = 12000
+
+elseif ARGS[0] = 19:
+	TatPrice = 12000
+
+elseif ARGS[0] = 20:
+	TatPrice = 12000
+
+elseif ARGS[0] = 21:
+	TatPrice = 12000
+
+elseif ARGS[0] = 22:
+	TatPrice = 12000
+
+elseif ARGS[0] = 23:
+	TatPrice = 12000
+
+elseif ARGS[0] = 24:
+	TatPrice = 12000
+
+elseif ARGS[0] = 25:
+	TatPrice = 12000
+
+elseif ARGS[0] = 26:
+	TatPrice = 12000
+
+elseif ARGS[0] = 27:
+	TatPrice = 12000
+
+elseif ARGS[0] = 28:
+	TatPrice = 12000
+
+elseif ARGS[0] = 29:
+	TatPrice = 12000
+
+elseif ARGS[0] = 30:
+	TatPrice = 12000
+
+elseif ARGS[0] = 31:
+	TatPrice = 12000
+
+elseif ARGS[0] = 32:
+	TatPrice = 12000
+
+end
+
+--- $attributes_tattoo_tramp ---------------------------------

+ 71 - 0
locations/_attributes_tattoo_under.qsrc

@@ -0,0 +1,71 @@
+# $attributes_tattoo_under
+
+if ARGS[0] = 1:
+	TatPrice = 12000
+
+elseif ARGS[0] = 2:
+	TatPrice = 12000
+
+elseif ARGS[0] = 3:
+	TatPrice = 12000
+
+elseif ARGS[0] = 4:
+	TatPrice = 12000
+
+elseif ARGS[0] = 5:
+	TatPrice = 12000
+
+elseif ARGS[0] = 6:
+	TatPrice = 12000
+
+elseif ARGS[0] = 7:
+	TatPrice = 12000
+
+elseif ARGS[0] = 8:
+	TatPrice = 12000
+
+elseif ARGS[0] = 9:
+	TatPrice = 12000
+
+elseif ARGS[0] = 10:
+	TatPrice = 12000
+
+elseif ARGS[0] = 11:
+	TatPrice = 12000
+
+elseif ARGS[0] = 12:
+	TatPrice = 12000
+
+elseif ARGS[0] = 13:
+	TatPrice = 12000
+
+elseif ARGS[0] = 14:
+	TatPrice = 12000
+
+elseif ARGS[0] = 15:
+	TatPrice = 12000
+
+elseif ARGS[0] = 16:
+	TatPrice = 12000
+
+elseif ARGS[0] = 17:
+	TatPrice = 12000
+
+elseif ARGS[0] = 18:
+	TatPrice = 12000
+
+elseif ARGS[0] = 19:
+	TatPrice = 12000
+
+elseif ARGS[0] = 20:
+	TatPrice = 12000
+
+elseif ARGS[0] = 21:
+	TatPrice = 12000
+
+elseif ARGS[0] = 22:
+	TatPrice = 12000
+
+end
+
+--- $attributes_tattoo_under ---------------------------------

+ 158 - 0
locations/_attributes_tattoo_wrist.qsrc

@@ -0,0 +1,158 @@
+# $attributes_tattoo_wrist
+
+if ARGS[0] = 1:
+	TatPrice = 7000
+
+elseif ARGS[0] = 2:
+	TatPrice = 7000
+
+elseif ARGS[0] = 3:
+	TatPrice = 7000
+
+elseif ARGS[0] = 4:
+	TatPrice = 7000
+
+elseif ARGS[0] = 5:
+	TatPrice = 7000
+
+elseif ARGS[0] = 6:
+	TatPrice = 7000
+
+elseif ARGS[0] = 7:
+	TatPrice = 7000
+
+elseif ARGS[0] = 8:
+	TatPrice = 7000
+
+elseif ARGS[0] = 9:
+	TatPrice = 7000
+
+elseif ARGS[0] = 10:
+	TatPrice = 7000
+
+elseif ARGS[0] = 11:
+	TatPrice = 7000
+
+elseif ARGS[0] = 12:
+	TatPrice = 7000
+
+elseif ARGS[0] = 13:
+	TatPrice = 7000
+
+elseif ARGS[0] = 14:
+	TatPrice = 7000
+
+elseif ARGS[0] = 15:
+	TatPrice = 7000
+
+elseif ARGS[0] = 16:
+	TatPrice = 7000
+
+elseif ARGS[0] = 17:
+	TatPrice = 7000
+
+elseif ARGS[0] = 18:
+	TatPrice = 7000
+
+elseif ARGS[0] = 19:
+	TatPrice = 7000
+
+elseif ARGS[0] = 20:
+	TatPrice = 7000
+
+elseif ARGS[0] = 21:
+	TatPrice = 7000
+
+elseif ARGS[0] = 22:
+	TatPrice = 7000
+
+elseif ARGS[0] = 23:
+	TatPrice = 7000
+
+elseif ARGS[0] = 24:
+	TatPrice = 7000
+
+elseif ARGS[0] = 25:
+	TatPrice = 7000
+
+elseif ARGS[0] = 26:
+	TatPrice = 7000
+
+elseif ARGS[0] = 27:
+	TatPrice = 7000
+
+elseif ARGS[0] = 28:
+	TatPrice = 7000
+
+elseif ARGS[0] = 29:
+	TatPrice = 7000
+
+elseif ARGS[0] = 30:
+	TatPrice = 7000
+
+elseif ARGS[0] = 31:
+	TatPrice = 7000
+
+elseif ARGS[0] = 32:
+	TatPrice = 7000
+
+elseif ARGS[0] = 33:
+	TatPrice = 7000
+
+elseif ARGS[0] = 34:
+	TatPrice = 7000
+
+elseif ARGS[0] = 35:
+	TatPrice = 7000
+
+elseif ARGS[0] = 36:
+	TatPrice = 7000
+
+elseif ARGS[0] = 37:
+	TatPrice = 7000
+
+elseif ARGS[0] = 38:
+	TatPrice = 7000
+
+elseif ARGS[0] = 39:
+	TatPrice = 7000
+
+elseif ARGS[0] = 40:
+	TatPrice = 7000
+
+elseif ARGS[0] = 41:
+	TatPrice = 7000
+
+elseif ARGS[0] = 42:
+	TatPrice = 7000
+
+elseif ARGS[0] = 43:
+	TatPrice = 7000
+
+elseif ARGS[0] = 44:
+	TatPrice = 7000
+
+elseif ARGS[0] = 45:
+	TatPrice = 7000
+
+elseif ARGS[0] = 46:
+	TatPrice = 7000
+
+elseif ARGS[0] = 47:
+	TatPrice = 7000
+
+elseif ARGS[0] = 48:
+	TatPrice = 7000
+
+elseif ARGS[0] = 49:
+	TatPrice = 7000
+
+elseif ARGS[0] = 40:
+	TatPrice = 7000
+
+elseif ARGS[0] = 51:
+	TatPrice = 7000
+
+end
+
+--- $attributes_tattoo_wrist ---------------------------------

+ 48 - 48
locations/clothing.qsrc

@@ -102,7 +102,7 @@ $clothing_list_line = {
 	else
 		clothing_temp = 100 & !clothing widdefault to 100
 	end
-	$RESULT +='<TD><a href="exec:gt ''clothing'', ''view_clothing_item'', ''<<$ARGS[1]>>'', <<ARGS[2]>>, ''<<$ARGS[0]>>''"><img src="<<FUNC(''$clothing_image'', $ARGS[1], ARGS[2])>>" width="<<clothing_temp>>"></a></TD>'
+	$RESULT +='<TD><a href="exec:gt ''clothing'', ''view_clothing_item'', ''<<$ARGS[0]>>'', ''<<$ARGS[1]>>'', <<ARGS[2]>>"><img src="<<FUNC(''$clothing_image'', $ARGS[1], ARGS[2])>>" width="<<clothing_temp>>"></a></TD>'
 	killvar 'clothing_temp'
 	$swimwear_description = ''
 	gs 'clothing_attributes', $ARGS[1], ARGS[2]
@@ -1468,27 +1468,27 @@ end
 
 if $ARGS[0] = 'view_clothing_item':
 	!! ARGS 0 - view_clothing_item
-	!! ARGS 1 - clothing type
-	!! ARGS 2 - clothing index
-	!! ARGS 3 = action type (wardrobe, shop, sell, resize)
+	!! ARGS 1 - action type (wardrobe, shop, sell, resize)
+	!! ARGS 2 - clothing type
+	!! ARGS 3 - clothing index
 
 	$swimwear_description = ''
 
 	cla
-	'<center><img src="<<FUNC(''$clothing_image'', $ARGS[1], ARGS[2])>>"></center>'
-	gs 'clothing_attributes', $ARGS[1], ARGS[2]
+	'<center><img src="<<FUNC(''$clothing_image'', $ARGS[2], ARGS[3])>>"></center>'
+	gs 'clothing_attributes', $ARGS[2], ARGS[3]
 
-	$RESULT = FUNC('$short_description', $ARGS[1], CloStyle2)
-	$RESULT += '<<ARGS[2]>>'
+	$RESULT = FUNC('$short_description', $ARGS[2], CloStyle2)
+	$RESULT += '<<ARGS[3]>>'
 	'<<$RESULT>>'
-	if $ARGS[1] = 'misc_outfits' and ARGS[2] = 1:
+	if $ARGS[2] = 'misc_outfits' and ARGS[3] = 1:
 		'A hessian sack the hunters gave you.'
 	elseif $swimwear_description = '':
 		gs 'clothing_descriptions'
 		'<<$description>>'
-		if hypnoClothes > 0 and (CloThinness >= 6 or $ARGS[1] = 'salacious_outfits' or $ARGS[1] = 'salacious_dress' _
-		or (($ARGS[1] = 'eroto_outfits' or $ARGS[1] = 'eroto_dress' or $ARGS[1] = 'eroto_strip') and CloThinness >= 3) _
-		or ($ARGS[1] = 'danilovich_outfits' and CloThinness >= 5)):
+		if hypnoClothes > 0 and (CloThinness >= 6 or $ARGS[2] = 'salacious_outfits' or $ARGS[2] = 'salacious_dress' _
+		or (($ARGS[2] = 'eroto_outfits' or $ARGS[2] = 'eroto_dress' or $ARGS[2] = 'eroto_strip') and CloThinness >= 3) _
+		or ($ARGS[2] = 'danilovich_outfits' and CloThinness >= 5)):
 			nl & '<I>You have a strange feeling about this outfit. You <b>really</b> want to wear it.</i>'
 		end
 	else
@@ -1520,26 +1520,26 @@ if $ARGS[0] = 'view_clothing_item':
 		'This is sport clothing.'
 	end
 
-	if $ARGS[3] ! 'shop' and ($ARGS[1] ! 'gm_school' or ARGS[2] ! 6):
+	if $ARGS[1] ! 'shop' and ($ARGS[2] ! 'gm_school' or ARGS[3] ! 6):
 		$RESULT = '(strength '
-		dynamic '$RESULT += <<$ARGS[1]>>_h[<<ARGS[2]>>]'
-		if $ARGS[1] ! 'danilovich_outfits' and $ARGS[1] ! 'coat' and CloStyle ! 5:
+		dynamic '$RESULT += <<$ARGS[2]>>_h[<<ARGS[3]>>]'
+		if $ARGS[2] ! 'danilovich_outfits' and $ARGS[2] ! 'coat' and CloStyle ! 5:
 			$RESULT += ', hip size '
-			dynamic '$RESULT += <<$ARGS[1]>>_b[<<ARGS[2]>>]'
+			dynamic '$RESULT += <<$ARGS[2]>>_b[<<ARGS[3]>>]'
 		end
 		$RESULT += ')'
 		'<<$RESULT>>'
 	end
 
-	if $ARGS[3] = 'shop':
-		if dyneval('RESULT = <<$ARGS[1]>>[<<ARGS[2]>>]') = 1:
+	if $ARGS[1] = 'shop':
+		if dyneval('RESULT = <<$ARGS[2]>>[<<ARGS[3]>>]') = 1:
 			'You already own this item.'
 			act 'Leave': gt $loc, $loc_arg
 		else
-			if $ARGS[1] = 'coat' and ARGS[2] = 5:
+			if $ARGS[2] = 'coat' and ARGS[3] = 5:
 				price = CloPrice
 			else
-				price = (CloPrice * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
+				price = (CloPrice * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[3]]) * 3 / 2
 				price = price / 50 * 50
 			end
 			'Price: <<price>> <b>₽</b>'
@@ -1556,7 +1556,7 @@ if $ARGS[0] = 'view_clothing_item':
 						if CloStyle = 5:h = 20
 						h += (3 * CloQuality)
 						money -= price
-						gs 'clothing', 'view_clothing_item_buy', $ARGS[3], $ARGS[1], ARGS[2]
+						gs 'clothing', 'view_clothing_item_buy', $ARGS[1], $ARGS[2], ARGS[3]
 					end
 				end
 				if karta >= Price:
@@ -1566,17 +1566,17 @@ if $ARGS[0] = 'view_clothing_item':
 						if CloStyle = 5:h = 20
 						h += (3 * CloQuality)
 						karta -= price
-						gs 'clothing', 'view_clothing_item_buy', $ARGS[3], $ARGS[1], ARGS[2]
+						gs 'clothing', 'view_clothing_item_buy', $ARGS[1], $ARGS[2], ARGS[3]
 					end
 				end
 			end
 		end
-	elseif $ARGS[3] = 'wardrobe':
+	elseif $ARGS[1] = 'wardrobe':
 		act 'Return':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 
-		if $ARGS[1] ! 'gm_school' or ARGS[2] ! 6:
+		if $ARGS[2] ! 'gm_school' or ARGS[3] ! 6:
 			!! if the clothing is worn out
-			if dyneval('RESULT = <<$ARGS[1]>>_h[<<ARGS[2]>>]') <= 0:
+			if dyneval('RESULT = <<$ARGS[2]>>_h[<<ARGS[3]>>]') <= 0:
 				'This item is worn and is not suitable for further wear.'
 				if pcs_sewng >= 60 and mc_inventory['sewing_fabric'] > 0:
 					cla
@@ -1587,7 +1587,7 @@ if $ARGS[0] = 'view_clothing_item':
 							cla
 							mc_inventory['sewing_fabric'] -= 1
 							minut += 30
-							dynamic $ARGS[1] + '_h[<<ARGS[2]>>] += 30'
+							dynamic $ARGS[2] + '_h[<<ARGS[3]>>] += 30'
 							'<center><img <<$set_imgh>> src="images/pc/activities/sewing/fix' + rand(1,2) + '.jpg"></center>'
 							'You spend 30 minutes fixing the outfit.'
 							act 'Return':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
@@ -1596,7 +1596,7 @@ if $ARGS[0] = 'view_clothing_item':
 							cla
 							mc_inventory['sewing_fabric'] += 3
 							minut += 30
-							dynamic $ARGS[1] + '[<<ARGS[2]>>] = 0'
+							dynamic $ARGS[2] + '[<<ARGS[3]>>] = 0'
 							'<center><img <<$set_imgh>> src="images/pc/activities/sewing/fix' + rand(1,2) + '.jpg"></center>'
 							'Despite your skill with a needle, this outfit has proved beyond repair. All that is left of it is only good for your cloth pile.'
 							act 'Return': gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
@@ -1609,9 +1609,9 @@ if $ARGS[0] = 'view_clothing_item':
 			end
 
 			!! if the clothing is a type that checks for hip size
-			if $ARGS[1] ! 'danilovich_outfits' and CloStyle ! 5:
+			if $ARGS[2] ! 'danilovich_outfits' and CloStyle ! 5:
 				!! if the hipsize is too far from your hipsize
-				dynamic 'RESULT = <<$ARGS[1]>>_b[<<ARGS[2]>>]'
+				dynamic 'RESULT = <<$ARGS[2]>>_b[<<ARGS[3]>>]'
 				if RESULT < pcs_hips - 8 or RESULT > pcs_hips + 8:
 					if RESULT < pcs_hips:
 						'This item is too small for you to wear.'
@@ -1626,7 +1626,7 @@ if $ARGS[0] = 'view_clothing_item':
 							cla
 							mc_inventory['sewing_fabric'] -= 1
 							minut += 30
-							dynamic $ARGS[1] + '_b[<<ARGS[2]>>] = pcs_hips'
+							dynamic $ARGS[2] + '_b[<<ARGS[3]>>] = pcs_hips'
 							'You spend 30 minutes resizing the outfit.'
 							act 'Return':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 						end
@@ -1637,7 +1637,7 @@ if $ARGS[0] = 'view_clothing_item':
 							act 'Resize item':
 								minut += 15
 								money -= 500
-								dynamic $ARGS[1] + '_b[<<ARGS[2]>>] = pcs_hips'
+								dynamic $ARGS[2] + '_b[<<ARGS[3]>>] = pcs_hips'
 								*nl
 								'You hand the clothing over to the tailor who takes it into the back. Fifteen minutes later, he presents your clothing back to you, adjusted to fit you perfectly.'
 								act 'Return':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
@@ -1652,73 +1652,73 @@ if $ARGS[0] = 'view_clothing_item':
 			end
 		end
 
-		if $ARGS[1] ! 'danilovich_swimsuit' and $ARGS[1] ! 'scandalicious_bikinis' and $ARGS[1] ! 'scandalicious_swimsuit' and $ARGS[1] ! 'allure_bikinis' and $ARGS[1] ! 'allure_bikinis':
+		if $ARGS[2] ! 'danilovich_swimsuit' and $ARGS[2] ! 'scandalicious_bikinis' and $ARGS[2] ! 'scandalicious_swimsuit' and $ARGS[2] ! 'allure_bikinis' and $ARGS[2] ! 'allure_bikinis':
 
 			if CloInhibit > pcs_inhib:
 				'You don''t feel daring enough to wear an outfit this revealing.'
-			elseif ARRPOS('$CloLosTyp', $ARGS[1]) ! -1 and ARRPOS('CloLosNum',ARGS[2]) ! -1 :
+			elseif ARRPOS('$CloLosTyp', $ARGS[2]) ! -1 and ARRPOS('CloLosNum',ARGS[3]) ! -1 :
 				'You lost these clothes somewhere, maybe you can find them again?.'
 			else
 				act 'Wear':
-					gs 'clothing', 'wear', $ARGS[1], ARGS[2]
+					gs 'clothing', 'wear', $ARGS[2], ARGS[3]
 
 					gt 'clothing', 'view_clothing_list', '<<$ward_list_page>>', '<<$ward_list_store>>'
 				end
 			end
 		end
-	elseif $ARGS[3] = 'store' or $ARGS[3] = 'unwanted':
+	elseif $ARGS[1] = 'store' or $ARGS[1] = 'unwanted':
 		act 'Return':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 
-		if $ARGS[1] ! 'coat':
+		if $ARGS[2] ! 'coat':
 			act 'Move back to wardrobe':
-				dynamic $ARGS[1] + '_s[<<ARGS[2]>>] = 0'
+				dynamic $ARGS[2] + '_s[<<ARGS[3]>>] = 0'
 				gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 			end
 		end
 
-	elseif $ARGS[3] = 'sell':
-		$ward_list_page = $ARGS[3]
+	elseif $ARGS[1] = 'sell':
+		$ward_list_page = $ARGS[1]
 		act 'Keep item':gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 
 		!! value is based on the strength remaining
-		dynamic 'RESULT = <<$ARGS[1]>>_h[<<ARGS[2]>>]'
+		dynamic 'RESULT = <<$ARGS[2]>>_h[<<ARGS[3]>>]'
 		if RESULT > 45:
 			'You can sell this item for 500 <b>₽</b>.'
 			act 'Sell':
-				dynamic '<<$ARGS[1]>>[<<ARGS[2]>>] = 0'
+				dynamic '<<$ARGS[2]>>[<<ARGS[3]>>] = 0'
 				money += 500
 				gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 			end
 		elseif RESULT > 30:
 			'You can sell this item for 300 <b>₽</b>.'
 			act 'Sell':
-				dynamic '<<$ARGS[1]>>[<<ARGS[2]>>] = 0'
+				dynamic '<<$ARGS[2]>>[<<ARGS[3]>>] = 0'
 				money += 300
 				gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 			end
 		elseif RESULT > 0:
 			'You can sell this item for 100 <b>₽</b>.'
 			act 'Sell':
-				dynamic '<<$ARGS[1]>>[<<ARGS[2]>>] = 0'
+				dynamic '<<$ARGS[2]>>[<<ARGS[3]>>] = 0'
 				money += 100
 				gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 			end
 		else
 			'This item is too worn to have any sale value.'
 			act 'Throw it away':
-				dynamic '<<$ARGS[1]>>[<<ARGS[2]>>] = 0'
+				dynamic '<<$ARGS[2]>>[<<ARGS[3]>>] = 0'
 				gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 			end
 		end
-	elseif $ARGS[3] = 'resize':
+	elseif $ARGS[1] = 'resize':
 		act 'Leave item alone':gt 'clothing', 'view_clothing_list', '<<$ward_list_page>>', '<<$ward_list_store>>'
 
-		if $ARGS[1] ! 'danilovich_outfits' and $ARGS[1] ! 'coat' and CloStyle ! 5:
-			if dyneval('RESULT = <<$ARGS[1]>>_b[<<ARGS[2]>>]') ! pcs_hips and money >= 500:
+		if $ARGS[2] ! 'danilovich_outfits' and $ARGS[2] ! 'coat' and CloStyle ! 5:
+			if dyneval('RESULT = <<$ARGS[2]>>_b[<<ARGS[3]>>]') ! pcs_hips and money >= 500:
 				'You can have this resized for 500 <b>₽</b>.'
 				act 'Resize':
 					money -= 500
-					dynamic '<<$ARGS[1]>>_b[<<ARGS[2]>>] = pcs_hips'
+					dynamic '<<$ARGS[2]>>_b[<<ARGS[3]>>] = pcs_hips'
 					gt 'clothing', 'view_clothing_list', 'resize'
 				end
 			end

+ 2 - 2
locations/gad_market.qsrc

@@ -238,8 +238,8 @@ if $ARGS[0] = 'swimsuit_cart':
 	end
 end
 
-if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'scandalicious_bikinis', i, 'shop'
-if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'scandalicious_swimsuit', i, 'shop'
+if $ARGS[0] = 'bikini1': gt 'clothing', 'view_clothing_item', 'shop', 'scandalicious_bikinis', i
+if $ARGS[0] = 'swim1': gt 'clothing', 'view_clothing_item', 'shop', 'scandalicious_swimsuit', i
 
 
 

+ 8 - 0
locations/piercing_attributes.qsrc

@@ -0,0 +1,8 @@
+# piercing_attributes
+
+PirFirst = 0
+PirPrice = 0
+
+gs '$attributes_piercing_<<$ARGS[0]>>', ARGS[1]
+
+--- piercing_attributes ---------------------------------

+ 70 - 0
locations/piercing_management.qsrc

@@ -114,7 +114,77 @@ if $ARGS[0] = 'count':
 end
 
 
+! [1] - payment method
+! [2] - slot
+! [3] - index
+if $ARGS[0] = 'buy':
+	if pcs_piercings[$ARGS[2]] = 0:
+		*clr
+		'<center><img src="<<func(''piercing_management'', ''<<$ARGS[2]>>_image'', ARGS[3])>>"></center>'
+		'The tattooist disinfects the area, pierces your <<$ARGS[2]>> and inserts your chosen piercing.'
+	else
+		'You buy the piercing.'
+	end
+
+	if $ARGS[1] = 'money': 
+		money -= price 
+	else 
+		karta -= price
+	end
+
+	gs 'piercing_management', 'add', $ARGS[2], ARGS[3]
+	gs 'piercing_management', 'count'
+	gs 'stat'
 
+	act 'Return': gt $loc, $loc_arg
+end
+
+
+! [1] - action type
+! [2] - slot
+! [3] - index
+if $ARGS[0] = 'view_item':
+	msg 'in item'
+	gs 'piercing_attributes', $ARGS[2], ARGS[3]
+
+	'<center><img src="<<func(''piercing_management'', ''<<$ARGS[2]>>_image'', ARGS[3])>>"></center>'
+
+	if $ARGS[1] = 'shop':
+		if pcs_piercings['<<$ARGS[2]>>_<<ARGS[3]>>_owned'] = 1:
+			'You already own this piercing.'
+			act 'Return': gt $loc, $loc_arg
+
+		else
+			price = PirPrice
+			if pcs_piercings[$ARGS[2]] = 0:
+				price += PirFirst
+				if max(money, karta) < price:
+					'You cannot afford to get your <<$ARGS[2]>> pierced with this piercing.'
+				else
+					if money >= price:
+						act 'Get your <<$ARGS[2]>> pierced and buy this piercing for for <<price>> <b>₽</b> (cash)': gt 'piercing_management', 'buy', 'money', $ARGS[2], ARGS[3]
+					end
+					if karta >= price:
+						act 'Get your <<$ARGS[2]>> pierced and buy this piercing for for <<price>> <b>₽</b> (card)': gt 'piercing_management', 'buy', 'karta', $ARGS[2], ARGS[3]
+					end
+				end
+
+			else
+				if max(money, karta) < price:
+					'You don''t have enough money for this piercing.'
+				else
+					if money >= price:
+						act 'Buy this piercing for <<price>> <b>₽</b> (cash)': gt 'piercing_management', 'buy', 'money', $ARGS[2], ARGS[3]
+					end
+					if karta >= price:
+						act 'Buy this piercing for <<price>> <b>₽</b> (card)': gt 'piercing_management', 'buy', 'karta', $ARGS[2], ARGS[3]
+					end
+				end
+			end
+			act 'Return': gt $loc, $loc_arg
+		end
+	end
+end
 
 
 

+ 116 - 1649
locations/pirsingsalon.qsrc

@@ -74,9 +74,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['ears'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_ears''">Ear - 3,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_ears''">Ear - 3,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_ears''">Ear - 1,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_ears''">Ear - 1,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -90,9 +90,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['nose'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_nose''">Nose - 5,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_nose''">Nose - 5,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_nose''">Nose - 2,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_nose''">Nose - 2,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -106,9 +106,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['brow'] = 0:
-		$temp_table +=			'<a href="exec: gt ''pirsingsalon'', ''piercing_brow''">Eyebrow - 5,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_brow''">Eyebrow - 5,000 <b>₽</b></a>'
 	else
-		$temp_table +=			'<a href="exec: gt ''pirsingsalon'', ''piercing_brow''">Eyebrow - 2,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_brow''">Eyebrow - 2,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -122,9 +122,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['lip'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_lip''">Lip - 6,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_lip''">Lip - 6,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_lip''">Lip - 3,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_lip''">Lip - 3,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -138,9 +138,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['tongue'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_tongue''">Tongue - 7,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_tongue''">Tongue - 7,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_tongue''">Tongue - 4,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_tongue''">Tongue - 4,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -154,9 +154,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['navel'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_navel''">Navel - 8,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_navel''">Navel - 8,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_navel''">Navel - 5,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_navel''">Navel - 5,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -170,9 +170,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['nipples'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_nipples''">Nipple - 10,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_nipples''">Nipple - 10,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_nipples''">Nipple - 6,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_nipples''">Nipple - 6,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -186,9 +186,9 @@ if $ARGS[0] = 'shop_menu':
 	$temp_table +=		'</td>'
 	$temp_table +=		'<td>'
 	if pcs_piercings['pussy'] = 0:
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_pussy''">Pussy - 25,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 0 & gt ''pirsingsalon'', ''piercing_pussy''">Pussy - 25,000 <b>₽</b></a>'
 	else
-		$temp_table +=		'<a href="exec: gt ''pirsingsalon'', ''piercing_pussy''">Pussy - 10,000 <b>₽</b></a>'
+		$temp_table +=		'<a href="exec: salon_temp_state = 1 & gt ''pirsingsalon'', ''piercing_pussy''">Pussy - 10,000 <b>₽</b></a>'
 	end
 	$temp_table +=		'</td>'
 	$temp_table +=	'</tr>'
@@ -222,749 +222,148 @@ end
 	!!----- Ears --------------------------------------------------
 
 if $ARGS[0] = 'piercing_ears':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_ears'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'ears')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:loopears_pir
-		*p '<a href="exec:gt ''pirsingsalon'', ''piercing_ears2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''ears_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'loopears_pir'
-end
-
-if $ARGS[0] = 'piercing_ears2':
-	'<center><img src="<<func(''piercing_management'', ''ears_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['ears_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_ears'
-
-	elseif pcs_piercings['ears'] = 0:
-		if max(money, karta) < 3000:
-			'You cannot afford to get your ears pierced with this piercing.'
-		else
-			if money >= 3000:
-				dynamic "
-					act 'Get your ears pierced with these earrings for 3,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_ears3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 3000:
-				dynamic "
-					act 'Get your ears pierced with these earrings for 3,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_ears3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 1000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 1000:
-				dynamic "
-					act 'Buy this piercing for 1,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_ears3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 1000:
-				dynamic "
-					act 'Buy this piercing for 1,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_ears3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_ears'
-end
-
-if $ARGS[0] = 'piercing_ears3':
-	if pcs_piercings['ears'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['ears'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 2000 else karta -= 2000
-
-		'<center><img src="<<func(''piercing_management'', ''ears_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your ears and inserts your chosen earrings.'
-
+		salon_temp_state = 1
 		gs 'pain', 1, 'ears', 'pierce'
-
-	else
-		'You buy the piercing.'
 	end
 
-	if $ARGS[2] = 'money': money -= 1000 else karta -= 1000
-	gs 'piercing_management', 'add', 'ears', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'ears', 1, 'ears_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Nose --------------------------------------------------
 
 if $ARGS[0] = 'piercing_nose':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_nose'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'nose')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:loopnose_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_nose2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''nose_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'loopnose_pir'
-end
-
-if $ARGS[0] = 'piercing_nose2':
-	'<center><img src="<<func(''piercing_management'', ''nose_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['nose_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_nose'
-
-	elseif pcs_piercings['nose'] = 0:
-		if max(money, karta) < 5000:
-			'You cannot afford to get your nose pierced with this piercing.'
-		else
-			if money >= 5000:
-				dynamic "
-					act 'Get your nose pierced with these earrings for 5,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_nose3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 5000:
-				dynamic "
-					act 'Get your nose pierced with these earrings for 5,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_nose3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 2000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 2000:
-				dynamic "
-					act 'Buy this piercing for 2,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_nose3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 2000:
-				dynamic "
-					act 'Buy this piercing for 2,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_nose3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_nose'
-end
-
-if $ARGS[0] = 'piercing_nose3':
-	if pcs_piercings['nose'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['nose'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-
-		'<center><img src="<<func(''piercing_management'', ''nose_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your nose and inserts your chosen piercing.'
-
-		gs 'pain', 2, 'nose', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'nose', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 2000 else karta -= 2000
-	gs 'piercing_management', 'add', 'nose', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'nose', 1, 'nose_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Brow --------------------------------------------------
 
 if $ARGS[0] = 'piercing_brow':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_brow'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'brow')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:loopbrow_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_brow2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''brow_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'loopbrow_pir'
-end
-
-if $ARGS[0] = 'piercing_brow2':
-	'<center><img src="<<func(''piercing_management'', ''brow_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['brow_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_brow'
-
-	elseif pcs_piercings['brow'] = 0:
-		if max(money, karta) < 5000:
-			'You cannot afford to get your brow pierced with this piercing.'
-		else
-			if money >= 5000:
-				dynamic "
-					act 'Get your brow pierced with these earrings for 5,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_brow3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 5000:
-				dynamic "
-					act 'Get your brow pierced with these earrings for 5,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_brow3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 2000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 2000:
-				dynamic "
-					act 'Buy this piercing for 2,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_brow3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 2000:
-				dynamic "
-					act 'Buy this piercing for 2,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_brow3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return':gt 'pirsingsalon', 'piercing_brow'
-end
-
-if $ARGS[0] = 'piercing_brow3':
-	if pcs_piercings['brow'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['brow'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-
-		'<center><img src="<<func(''piercing_management'', ''brow_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your brow and inserts your chosen piercing.'
-
-		gs 'pain', 3, 'eyebrows', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'eyebrows', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 2000 else karta -= 2000
-	gs 'piercing_management', 'add', 'brow', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'brow', 1, 'brow_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Lip --------------------------------------------------
 
 if $ARGS[0] = 'piercing_lip':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_lip'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'lip')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	ps_i = 1
-	:looplip_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_lip2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''lip_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'looplip_pir'
-end
-
-if $ARGS[0] = 'piercing_lip2':
-	'<center><img src="<<func(''piercing_management'', ''lip_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['lip_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_lip'
-
-	elseif pcs_piercings['lip'] = 0:
-		if max(money, karta) < 6000:
-			'You cannot afford to get your lip pierced with this piercing.'
-		else
-			if money >= 6000:
-				dynamic "
-					act 'Get your lip pierced with this piercing for 6,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_lip3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 6000:
-				dynamic "
-					act 'Get your lip pierced with this piercing for 6,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_lip3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 3000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 3000:
-				dynamic "
-					act 'Buy this piercing for 3,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_lip3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 3000:
-				dynamic "
-					act 'Buy this piercing for 3,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_lip3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_lip'
-end
-
-if $ARGS[0] = 'piercing_lip3':
-	if pcs_piercings['lip'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['lip'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-
-		'<center><img src="images/locations/city/industrial/salon/pirsing2.jpg"></center>'
-		'The tattooist disinfects the area, pierces your lip and inserts your chosen piercing.'
-
-		gs 'pain', 2, 'lips', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'lips', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-	gs 'piercing_management', 'add', 'lip', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'lip', 1, 'lip_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Tongue --------------------------------------------------
 
 if $ARGS[0] = 'piercing_tongue':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_tongue'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'tongue')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:looptongue_pir
-		*pl '<a href="exec: gt ''pirsingsalon'', ''piercing_tongue2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''tongue_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'looptongue_pir'
-end
-
-if $ARGS[0] = 'piercing_tongue2':
-	menu_off = 1
-	gs 'stat'
-
-	'<center><img src="<<func(''piercing_management'', ''tongue_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['tongue_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_tongue'
-
-	elseif pcs_piercings['tongue'] = 0:
-		if max(money, karta) < 7000:
-			'You cannot afford to get your tongue pierced with this piercing.'
-		else
-			if money >= 7000:
-				dynamic "
-					act 'Get your tongue pierced with this piercing for 7,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_tongue3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 7000:
-				dynamic "
-					act 'Get your tongue pierced with this piercing for 7,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_tongue3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 4000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 4000:
-				dynamic "
-					act 'Buy this piercing for 4,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_tongue3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 4000:
-				dynamic "
-					act 'Buy this piercing for 4,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_tongue3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_tongue'
-end
-
-if $ARGS[0] = 'piercing_tongue3':
-	if pcs_piercings['tongue'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['tongue'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-
-		'<center><img src="images/locations/city/industrial/salon/pirsing.jpg"></center>'
-		'The tattooist disinfects the area, pierces your tongue and inserts your chosen piercing.'
-
-		gs 'pain', 5, 'tongue', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'tongue', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 4000 else karta -= 4000
-	gs 'piercing_management', 'add', 'tongue', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'tongue', 1, 'tongue_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Navel --------------------------------------------------
 
 if $ARGS[0] = 'piercing_navel':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_navel'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'navel')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:loopbelly_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_navel2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''navel_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'loopbelly_pir'
-end
-
-if $ARGS[0] = 'piercing_navel2':
-	'<center><img src="<<func(''piercing_management'', ''navel_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['navel_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_navel'
-
-	elseif pcs_piercings['navel'] = 0:
-		if max(money, karta) < 8000:
-			'You cannot afford to get your belly button pierced with this piercing.'
-		else
-			if money >= 8000:
-				dynamic "
-					act 'Get your belly button pierced with these earrings for 8,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_navel3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 8000:
-				dynamic "
-					act 'Get your belly button pierced with these earrings for 8,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_navel3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 5000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 5000:
-				dynamic "
-					act 'Buy this piercing for 5,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_navel3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 5000:
-				dynamic "
-					act 'Buy this piercing for 5,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_navel3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_navel'
-end
-
-if $ARGS[0] = 'piercing_navel3':
-	if pcs_piercings['navel'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['navel'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 3000 else karta -= 3000
-
-		'<center><img src="<<func(''piercing_management'', ''navel_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your belly button and inserts your chosen piercing.'
+		salon_temp_state = 1
 		gs 'pain', 1, 'tummy', 'pierce'
-
-	else
-		'You buy the piercing.'
 	end
 
-	if $ARGS[2] = 'money': money -= 5000 else karta -= 5000
-	gs 'piercing_management', 'add', 'navel', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'navel', 1, 'navel_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Nipples --------------------------------------------------
 
 if $ARGS[0] = 'piercing_nipples':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_nipples'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'nipples')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:loopnip_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_nipples2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''nipples_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'loopnip_pir'
-end
-
-if $ARGS[0] = 'piercing_nipples2':
-	'<center><img src="<<func(''piercing_management'', ''nipples_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['nipples_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_brow'
-
-	elseif pcs_piercings['nipples'] = 0:
-		if max(money, karta) < 10000:
-			'You cannot afford to get your nipples pierced with this piercing.'
-		else
-			if money >= 10000:
-				dynamic "
-					act 'Get your nipples pierced with these earrings for 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_nipples3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 10000:
-				dynamic "
-					act 'Get your nipples pierced with these earrings for 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_nipples3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 6000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 6000:
-				dynamic "
-					act 'Buy this piercing for 6,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_nipples3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 6000:
-				dynamic "
-					act 'Buy this piercing for 6,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_nipples3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_nipples'
-end
-
-if $ARGS[0] = 'piercing_nipples3':
-	if pcs_piercings['nipples'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['nipples'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 4000 else karta -= 4000
-
-		'<center><img src="<<func(''piercing_management'', ''nipples_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your nipples and inserts your chosen piercings.'
-		gs 'pain', 7, 'nipples', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'nipples', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 6000 else karta -= 6000
-	gs 'piercing_management', 'add', 'nipples', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'nipples', 1, 'nipples_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Pussy --------------------------------------------------
 
 if $ARGS[0] = 'piercing_pussy':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'piercing_pussy'
 	menu_off = 1
 	gs 'stat'
 
-	ps_total = func('piercing_management', 'totals', 'pussy')
-	
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-	
-	ps_i = 1
-	:looppubic_pir
-		*p '<a href="exec: gt ''pirsingsalon'', ''piercing_pussy2'', <<ps_i>>"><img height="250" src="<<func(''piercing_management'', ''pussy_image'', ps_i)>>"></a>'
-		ps_i += step
-	if ps_i <= ps_total: jump 'looppubic_pir'
-end
-
-if $ARGS[0] = 'piercing_pussy2':
-	'<center><img src="<<func(''piercing_management'', ''pussy_image'', ARGS[1])>>"></center>'
-
-	if pcs_piercings['pussy_<<ARGS[1]>>_owned'] = 1:
-		'You already own this piercing.'
-		act 'Return': gt 'pirsingsalon', 'piercing_brow'
-
-	elseif pcs_piercings['pussy'] = 0:
-		if max(money, karta) < 25000:
-			'You cannot afford to get your pussy pierced with this piercing.'
-		else
-			if money >= 25000:
-				dynamic "
-					act 'Get your pussy pierced with these earrings for 25,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_pussy3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 25000:
-				dynamic "
-					act 'Get your pussy pierced with these earrings for 25,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_pussy3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-
-	else
-		if max(money, karta) < 10000:
-			'You don''t have enough money for this piercing.'
-		else
-			if money >= 10000:
-				dynamic "
-					act 'Buy this piercing for 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'piercing_pussy3', <<ARGS[1]>>, 'money'
-				"
-			end
-			if karta >= 10000:
-				dynamic "
-					act 'Buy this piercing for 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'piercing_pussy3', <<ARGS[1]>>, 'karta'
-				"
-			end
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'piercing_pussy'
-end
-
-if $ARGS[0] = 'piercing_pussy3':
-	if pcs_piercings['pussy'] = 0:
-		*clr
+	if salon_temp_state = 0 and pcs_piercings['pussy'] ! 0:
 		minut += 30
-		if $ARGS[2] = 'money': money -= 15000 else karta -= 15000
-
-		'<center><img src="<<func(''piercing_management'', ''pussy_image'', ARGS[1])>>"></center>'
-		'The tattooist disinfects the area, pierces your pussy and inserts your chosen piercing.'
-		gs 'pain', 9, 'pubic', 'pierce'
-
-	else
-		'You buy the piercing.'
+		salon_temp_state = 1
+		gs 'pain', 1, 'pubic', 'pierce'
 	end
 
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'piercing_management', 'add', 'pussy', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'piercing_management', 'pussy', 1, 'pussy_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': killvar 'salon_temp_state' & gt 'pirsingsalon', 'start'
 end
 
 
-
-
 	!!========================================================================!!
 	!!                                                                        !!
 	!!                                TATTOOS                                 !!
@@ -975,1149 +374,217 @@ end
 	!!----- Ankle --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_ankle':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_ankle'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['ankle'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'ankle')
-		ps_i = 1
-		:looptatfoot
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_ankle2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''ankle_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatfoot'
-		*nl
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'ankle', 1, 'ankle_image', 'shop'
 
-	else
-		'<center><img src="<<func(''tattoo_management'', ''ankle_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_ankle2':
-	'<center><img src="<<func(''tattoo_management'', ''ankle_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 8000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_ankle3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_ankle3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_ankle'
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_ankle3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 8000 else karta -= 8000
-	gs 'tattoo_management', 'add', 'ankle', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Arm --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_arm':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_arm'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['arm'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'arm')
-		ps_i = 1
-		:looptatarm
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_arm2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''arm_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatarm'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''arm_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_arm2':
-	'<center><img src="<<func(''tattoo_management'', ''arm_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 8000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_arm3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_arm3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_arm'
-end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'arm', 1, 'arm_image', 'shop'
 
-if $ARGS[0] = 'tattoo_arm3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 8000 else karta -= 8000
-	gs 'tattoo_management', 'add', 'arm', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Ass --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_ass':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_ass'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['ass'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'ass')
-		ps_i = 1
-		:looptatass
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_ass2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''ass_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatass'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''ass_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_ass2':
-	'<center><img src="<<func(''tattoo_management'', ''ass_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 10000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_ass3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_ass3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'ass', 1, 'ass_image', 'shop'
 
-	act 'Return': gt 'pirsingsalon', 'tattoo_ass'
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_ass3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'tattoo_management', 'add', 'ass', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Back --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_back':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_back'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['back'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'back')
-		ps_i = 1
-		:looptatback
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_back2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''back_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatback'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''back_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_back2':
-	'<center><img src="<<func(''tattoo_management'', ''back_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 10000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_back3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_back3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'back', 1, 'back_image', 'shop'
 
-	act 'Return': gt 'pirsingsalon', 'tattoo_back'
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_back3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'tattoo_management', 'add', 'back', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Belly --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_belly':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_belly'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['belly'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'belly')
-		ps_i = 1
-		:looptatbelly
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_belly2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''belly_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatbelly'
-		*nl
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''belly_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_belly2':
-	'<center><img src="<<func(''tattoo_management'', ''belly_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 10000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_belly3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_belly3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_belly'
-end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'belly', 1, 'belly_image', 'shop'
 
-if $ARGS[0] = 'tattoo_belly3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'tattoo_management', 'add', 'belly', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Breast --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_breast':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_breast'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['breast'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'breast')
-		ps_i = 1
-		:looptatbreast
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_breast2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''breast_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatbreast'
-		*nl
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''breast_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_breast2':
-	'<center><img src="<<func(''tattoo_management'', ''breast_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 15000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 15000:
-			dynamic "
-				act 'Get this tattoo 15,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_breast3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 15000:
-			dynamic "
-				act 'Get this tattoo 15,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_breast3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_breast'
-end
-
-if $ARGS[0] = 'tattoo_breast3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 15000 else karta -= 15000
-	gs 'tattoo_management', 'add', 'breast', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'breast', 1, 'breast_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Chest --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_chest':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_chest'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'chest', 1, 'chest_image', 'shop'
 
-	if pcs_tattoos['chest'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'chest')
-		ps_i = 1
-		:looptatchest
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_chest2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''chest_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatchest'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''chest_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_chest2':
-	'<center><img src="<<func(''tattoo_management'', ''chest_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 12000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_chest3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_chest3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_chest'
-end
-
-if $ARGS[0] = 'tattoo_chest3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 12000 else karta -= 12000
-	gs 'tattoo_management', 'add', 'chest', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Face --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_face':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_face'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'face', 1, 'face_image', 'shop'
 
-	if pcs_tattoos['face'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'face')
-		ps_i = 1
-		:looptatface
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_face2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''face_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatface'
-		*nl
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''face_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_face2':
-	'<center><img src="<<func(''tattoo_management'', ''face_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 10000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_face3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_face3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_face'
-end
-
-if $ARGS[0] = 'tattoo_face3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'tattoo_management', 'add', 'face', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Hand --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_hand':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_hand'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['hand'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'hand')
-		ps_i = 1
-		:looptathand
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_hand2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''hand_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptathand'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''hand_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_hand2':
-	'<center><img src="<<func(''tattoo_management'', ''hand_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 7000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 7000:
-			dynamic "
-				act 'Get this tattoo 7,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_hand3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 7000:
-			dynamic "
-				act 'Get this tattoo 7,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_hand3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_hand'
-end
-
-if $ARGS[0] = 'tattoo_hand3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 7000 else karta -= 7000
-	gs 'tattoo_management', 'add', 'hand', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'hand', 1, 'hand_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Leg --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_leg':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_leg'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['leg'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'leg')
-		ps_i = 1
-		:looptatleg
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_leg2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''leg_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatleg'
-		*nl
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''leg_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_leg2':
-	'<center><img src="<<func(''tattoo_management'', ''leg_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 10000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_leg3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 10000:
-			dynamic "
-				act 'Get this tattoo 10,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_leg3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'leg', 1, 'leg_image', 'shop'
 
-	act 'Return': gt 'pirsingsalon', 'tattoo_leg'
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_leg3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 10000 else karta -= 10000
-	gs 'tattoo_management', 'add', 'leg', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Lip --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_lip':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_lip'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['lip'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'lip')
-		ps_i = 1
-		:looptatlip
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_lip2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''lip_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatlip'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'lip', 1, 'lip_image', 'shop'
 
-	else
-		'<center><img src="<<func(''tattoo_management'', ''lip_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_lip2':
-	'<center><img src="<<func(''tattoo_management'', ''lip_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 5000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 5000:
-			dynamic "
-				act 'Get this tattoo 5,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_lip3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 5000:
-			dynamic "
-				act 'Get this tattoo 5,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_lip3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_lip'
-end
-
-if $ARGS[0] = 'tattoo_lip3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 5000 else karta -= 5000
-	gs 'tattoo_management', 'add', 'lip', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Neck --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_neck':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_neck'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['neck'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'neck')
-		ps_i = 1
-		:looptatneck
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_neck2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''neck_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatneck'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''neck_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_neck2':
-	'<center><img src="<<func(''tattoo_management'', ''neck_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 8000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_neck3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_neck3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_neck'
-end
-
-if $ARGS[0] = 'tattoo_neck3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 8000 else karta -= 8000
-	gs 'tattoo_management', 'add', 'neck', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'neck', 1, 'neck_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Pussy --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_pussy':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_pussy'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['pussy'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'pussy')
-		ps_i = 1
-		:looptatvag
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_pussy2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''pussy_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatvag'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''pussy_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_pussy2':
-	'<center><img src="<<func(''tattoo_management'', ''pussy_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 20000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 20000:
-			dynamic "
-				act 'Get this tattoo 20,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_pussy3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 20000:
-			dynamic "
-				act 'Get this tattoo 20,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_pussy3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_pussy'
-end
-
-if $ARGS[0] = 'tattoo_pussy3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 20000 else karta -= 20000
-	gs 'tattoo_management', 'add', 'pussy', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'pussy', 1, 'pussy_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- shoulder --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_shoulder':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_shoulder'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'shoulder', 1, 'shoulder_image', 'shop'
 
-	if pcs_tattoos['shoulder'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'shoulder')
-		ps_i = 1
-		:looptatlech
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_shoulder2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''shoulder_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatlech'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''shoulder_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_shoulder2':
-	'<center><img src="<<func(''tattoo_management'', ''shoulder_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 8000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_shoulder3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 8000:
-			dynamic "
-				act 'Get this tattoo 8,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_shoulder3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_shoulder'
-end
-
-if $ARGS[0] = 'tattoo_shoulder3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 8000 else karta -= 8000
-	gs 'tattoo_management', 'add', 'shoulder', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Side --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_side':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_side'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['side'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'side')
-		ps_i = 1
-		:looptatside
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_side2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''side_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatside'
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''side_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_side2':
-	'<center><img src="<<func(''tattoo_management'', ''side_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 12000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_side3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_side3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_side'
-end
-
-if $ARGS[0] = 'tattoo_side3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 12000 else karta -= 12000
-	gs 'tattoo_management', 'add', 'side', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'side', 1, 'side_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Tramp --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_tramp':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_tramp'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['tramp'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'tramp')
-		ps_i = 1
-		:looptatupb
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_tramp2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''tramp_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatupb'
-		*nl
-
-	else
-		'<center><img src="<<func(''tattoo_management'', ''tramp_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
-end
-
-if $ARGS[0] = 'tattoo_tramp2':
-	'<center><img src="<<func(''tattoo_management'', ''tramp_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 12000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_tramp3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_tramp3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_tramp'
-end
-
-if $ARGS[0] = 'tattoo_tramp3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 12000 else karta -= 12000
-	gs 'tattoo_management', 'add', 'tramp', ARGS[1]
-	gs 'stat'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'tramp', 1, 'tramp_image', 'shop'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-
 	!!----- Under --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_under':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_under'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['under'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'under')
-		ps_i = 1
-		:looptatunder
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_under2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''under_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatunder'
-		*nl
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'under', 1, 'under_image', 'shop'
 
-	else
-		'<center><img src="<<func(''tattoo_management'', ''under_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_under2':
-	'<center><img src="<<func(''tattoo_management'', ''under_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 12000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_under3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 12000:
-			dynamic "
-				act 'Get this tattoo 12,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_under3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_under'
-end
-
-if $ARGS[0] = 'tattoo_under3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 12000 else karta -= 12000
-	gs 'tattoo_management', 'add', 'under', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
 	!!----- Wrist --------------------------------------------------
 
 if $ARGS[0] = 'tattoo_wrist':
+	gs 'shortgs', 'setloc', 'pirsingsalon', 'tattoo_wrist'
 	menu_off = 1
 	gs 'stat'
 
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-		step = intro_custom_step
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-		step = 1
-	end
-
-	if pcs_tattoos['wrist'] <= 0:
-		ps_total = func('tattoo_management', 'totals', 'wrist')
-		ps_i = 1
-		:looptatwrist
-			*p '<a href="exec: gt ''pirsingsalon'', ''tattoo_wrist2'', <<ps_i>>"><img height="250" src="<<func(''tattoo_management'', ''wrist_image'', ps_i)>>"></a>'
-			ps_i += step
-		if ps_i <= ps_total: jump 'looptatwrist'
+	gs 'shop_utils', 'display_func_managed', 'tattoo_management', 'wrist', 1, 'wrist_image', 'shop'
 
-	else
-		'<center><img src="<<func(''tattoo_management'', ''wrist_image'')>>"></center>'
-		'You already have this tattoo here.'
-	end
+	act 'Return': gt 'pirsingsalon', 'start'
 end
 
-if $ARGS[0] = 'tattoo_wrist2':
-	'<center><img src="<<func(''tattoo_management'', ''wrist_image'', ARGS[1])>>"></center>'
-
-	if max(money, karta) < 7000:
-		'You cannot afford this tattoo.'
-	else
-		if money >= 7000:
-			dynamic "
-				act 'Get this tattoo 7,000 <b>₽</b> (cash)': xgt 'pirsingsalon', 'tattoo_wrist3', <<ARGS[1]>>, 'money'
-			"
-		end
-		if karta >= 7000:
-			dynamic "
-				act 'Get this tattoo 7,000 <b>₽</b> (card)': xgt 'pirsingsalon', 'tattoo_wrist3', <<ARGS[1]>>, 'karta'
-			"
-		end
-	end
-
-	act 'Return': gt 'pirsingsalon', 'tattoo_wrist'
-end
-
-if $ARGS[0] = 'tattoo_wrist3':
-	minut += 60
-	if $ARGS[2] = 'money': money -= 12000 else karta -= 12000
-	gs 'tattoo_management', 'add', 'wrist', ARGS[1]
-	gs 'stat'
-
-	if intro_custom_shop_return = 1:
-		act 'Return': gt 'intro_customization', 'modclo'
-	else
-		act 'Return': gt 'pirsingsalon', 'start'
-	end
-end
-
-
-
-! Cleanup
-
-killvar 'ps_i'
-killvar 'ps_total'
-
-
 --- pirsingsalon ---------------------------------

+ 44 - 1
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_display[''variable'']>>'', <<shop_display[''i'']>>, ''shop''"><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'']>>"><img height="250" src="<<$shop_display[''item_img_path'']>>/<<shop_display[''i'']>>.jpg"></a>'
 				end
 			end
 		end
@@ -63,6 +63,10 @@ if $ARGS[0] = 'shop':
 		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>'
 		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>'
+	
 	end
 
 	exit
@@ -360,5 +364,44 @@ if $ARGS[0] = 'display_purses':
 	killvar 'shop_display'
 end
 
+! The file managing your item MUST implement the following funcitons
+!	- 'totals' which returns the max number of items of the specified type
+! 	- 'view_item' which takes 3 arguments and handles displaying, buying and any other related fuctionalities 
+!		- 'action_type' (shop, wardrobe, etc)
+! 		- 'type' 
+!		- 'index'
+! 	- individual functons for each type that return an image of the item based on its index
+! 
+! Arguments for this function are:
+! [1] - name of file that manages the item
+! [2] - item type
+! [3] - loop step
+! [4] - image function name
+! [5] - link type
+! [6] - loop index start offset {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]
+
+
+	total = func($shop_display['main_func_name'], 'totals', $ARGS[2])
+
+	if total <= 0:
+		killvar 'shop_display'
+		exit
+	end
+
+	shop_display['i'] = 1 + ARGS[6]
+	:func_managed_main_loop
+	if shop_display['i'] <= total:
+		if arrpos('shop_display_exception', shop_display['i']) < 0:
+			*p func('shop_utils', $ARGS[5], 'func_managed')
+		end
+		shop_display['i'] += ARGS[3]
+		jump 'func_managed_main_loop'
+	end
+end
 
 --- shop_utils ---------------------------------

+ 7 - 0
locations/tattoo_attributes.qsrc

@@ -0,0 +1,7 @@
+# tattoo_attributes
+
+TatPrice = 0
+
+gs '$attributes_tattoo_<<$ARGS[0]>>', ARGS[1]
+
+--- tattoo_attributes ---------------------------------

+ 41 - 0
locations/tattoo_management.qsrc

@@ -88,6 +88,47 @@ if $ARGS[0] = 'count':
 end
 
 
+! [1] - payment method
+! [2] - slot
+! [3] - index
+if $ARGS[0] = 'buy':
+	if $ARGS[1] = 'money': 
+		money -= price 
+	else 
+		karta -= price
+	end
+
+	gs 'tattoo_management', 'add', $ARGS[2], ARGS[3]
+	gs 'tattoo_management', 'count'
+	gs 'stat'
+
+	gt $loc, $loc_arg
+end
+
+! [1] - action_type
+! [2] - slot
+! [3] - index
+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
+
+	if max(money, karta) < price:
+		'You cannot afford this tattoo.'
+		act 'Return': gt $loc, $loc_arg
+	else
+		if money >= price:
+			act 'Get this tattoo <<price>> <b>₽</b> (cash)': gt 'tattoo_management', 'buy', 'money', $ARGS[2], ARGS[3]
+		end
+		if karta >= price:
+			act 'Get this tattoo <<price>> <b>₽</b> (card)': gt 'tattoo_management', 'buy', 'karta', $ARGS[2], ARGS[3]
+		end
+		act 'Return': gt $loc, $loc_arg
+	end
+end
+
 if $ARGS[0] = 'ankle_image':
 	if ARGS[1] = 0: ARGS[1] = pcs_tattoos['ankle']
 	if ARGS[1] < 0: ARGS[1] = -ARGS[1]