Advertisement
EditorRUS

Reimu Hakkurei's donation box

Jul 27th, 2014
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.53 KB | None | 0 0
  1. var/const/stuff = {"
  2. Hats
  3. SWAT cap:/obj/item/clothing/head/secsoft/fluff/swatcap:450
  4. Collectable Pete hat:/obj/item/clothing/head/collectable/petehat:2000
  5. Collectable Metroid hat:/obj/item/clothing/head/collectable/metroid:1300
  6. Collectable Xeno hat:/obj/item/clothing/head/collectable/xenom:1100
  7. Collectable Top hat:/obj/item/clothing/head/collectable/tophat:600
  8. Kitty Ears:/obj/item/clothing/head/kitty:100
  9. Ushanka:/obj/item/clothing/head/ushanka:300
  10.  
  11. Personal Stuff
  12. Eye patch:/obj/item/clothing/glasses/eyepatch:200
  13. Cane:/obj/item/weapon/cane:200
  14. Golden Pen:/obj/item/weapon/pen/fluff/eugene_bissegger_1:300
  15. Zippo:/obj/item/weapon/lighter/zippo:200
  16. Engraved Zippo:/obj/item/weapon/lighter/zippo/fluff/naples_1:250
  17. Golden Zippo:/obj/item/weapon/lighter/zippo/fluff/michael_guess_1:500
  18. Cigarette packet:/obj/item/weapon/storage/fancy/cigarettes:20
  19. DromedaryCo packet:/obj/item/weapon/storage/fancy/cigarettes/dromedaryco:50
  20. Premium Havanian Cigar:/obj/item/clothing/mask/cigarette/cigar/havana:200
  21. Electronic Cigarette:/obj/item/clothing/mask/fluff/electriccig:100
  22. Beer bottle:/obj/item/weapon/reagent_containers/food/drinks/beer:80
  23. Captain flask:/obj/item/weapon/reagent_containers/food/drinks/flask:300
  24. pAI card:/obj/item/device/paicard:300
  25. Teapot:/obj/item/weapon/reagent_containers/glass/beaker/fluff/eleanor_stone:200
  26. Three Mile Island Ice Tea:/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/threemileisland:100
  27.  
  28. Costume sets
  29. Plague Doctor Set:/obj/effect/landmark/costume/plaguedoctor:3750
  30.  
  31. Shoes
  32. Clown Shoes:/obj/item/clothing/shoes/clown_shoes:200
  33. Rainbow Shoes:/obj/item/clothing/shoes/rainbow:200
  34. Cyborg Shoes:/obj/item/clothing/shoes/cyborg:200
  35. Laceups Shoes:/obj/item/clothing/shoes/laceup:200
  36. Leather Shoes:/obj/item/clothing/shoes/leather:200
  37. Red Shoes:/obj/item/clothing/shoes/red:100
  38. Green Shoes:/obj/item/clothing/shoes/green:100
  39. Blue Shoes:/obj/item/clothing/shoes/blue:100
  40. Yellow Shoes:/obj/item/clothing/shoes/yellow:100
  41. Purple Shoes:/obj/item/clothing/shoes/purple:100
  42. Wooden Sandals:/obj/item/clothing/shoes/sandal:80
  43. Fluffy Slippers:/obj/item/clothing/shoes/slippers:150
  44.  
  45. Jumpsuits
  46. Vice Policeman:/obj/item/clothing/under/rank/vice:900
  47. Rainbow Suit:/obj/item/clothing/under/rainbow:200
  48. Lightblue Suit:/obj/item/clothing/under/lightblue:200
  49. Aqua Suit:/obj/item/clothing/under/aqua:900
  50. Purple Suit:/obj/item/clothing/under/purple:200
  51. Lightpurple Suit:/obj/item/clothing/under/lightpurple:200
  52. Lightbrown Suit:/obj/item/clothing/under/lightbrown:200
  53. Brown Suit:/obj/item/clothing/under/brown:200
  54. Darkblue suit:/obj/item/clothing/under/darkblue:200
  55. Lightred Suit:/obj/item/clothing/under/lightred:200
  56. Darkred Suit:/obj/item/clothing/under/darkred:200
  57. Grim Jacket:/obj/item/clothing/under/suit_jacket:200
  58. Black Jacket:/obj/item/clothing/under/color/blackf:200
  59. Police Uniform:/obj/item/clothing/under/det/fluff/retpoluniform:400
  60. Scratched Suit:/obj/item/clothing/under/scratch:200
  61. Downy Jumpsuit:/obj/item/clothing/under/fluff/jumpsuitdown:200
  62. Tacticool Turtleneck:/obj/item/clothing/under/syndicate/tacticool:200
  63.  
  64. Gloves
  65. White:/obj/item/clothing/gloves/white:200
  66. Rainbow:/obj/item/clothing/gloves/rainbow:300
  67. Black:/obj/item/clothing/gloves/black:250
  68.  
  69. Coats
  70. Brown Coat:/obj/item/clothing/suit/browncoat:500
  71.  
  72. Bedsheets
  73. Clown Bedsheet:/obj/item/weapon/bedsheet/clown:300
  74. Mime Bedsheet:/obj/item/weapon/bedsheet/mime:300
  75. Rainbow Bedsheet:/obj/item/weapon/bedsheet/rainbow:300
  76. Captain Bedsheet:/obj/item/weapon/bedsheet/captain:600
  77.  
  78. Toys
  79. Rubber Duck:/obj/item/weapon/bikehorn/rubberducky:500
  80. The Holy Cross:/obj/item/fluff/val_mcneil_1:600
  81. Champion Belt:/obj/item/weapon/storage/belt/champion:400
  82. Keppel:/obj/item/weapon/fluff/cado_keppel_1:400
  83.  
  84. Special Stuff
  85. Santabag:/obj/item/weapon/storage/backpack/santabag:4000
  86. "}
  87.  
  88.  
  89. var/list/datum/donator_prize/prizes = list()
  90. var/list/datum/donator/donators = list()
  91.  
  92. /datum/donator
  93. var/ownerkey
  94. var/money = 0
  95. var/maxmoney = 0
  96. var/allowed_num_items = 10
  97.  
  98. New(ckey, money)
  99. ..()
  100. ownerkey = ckey
  101. src.money = money
  102. maxmoney = money
  103. donators[ckey] = src
  104.  
  105. proc/show()
  106. var/dat = "<title>Donator panel</title>"
  107. dat += "You have [money] / [maxmoney]<br>"
  108. dat += "You can spawn [ allowed_num_items ? allowed_num_items : "no" ] more items.<br><br>"
  109.  
  110. if (allowed_num_items)
  111. if (!prizes.len)
  112. build_prizes_list()
  113.  
  114. var/cur_cat = "None"
  115.  
  116. for (var/i = 1, i<=prizes.len, i++)
  117. var/datum/donator_prize/prize = prizes[i]
  118. var/cat_name = prize.category
  119. if (cur_cat != cat_name)
  120. dat += "<hr><b>[cat_name]</b><br>"
  121. cur_cat = cat_name
  122. dat += "<a href='?src=\ref[src];itemid=[i]'>[prize.item_name] : [prize.cost]</a><br>"
  123. usr << browse(dat, "window=donatorpanel;size=250x400")
  124.  
  125. Topic(href, href_list)
  126. var/id = text2num(href_list["itemid"])
  127. var/datum/donator_prize/prize = prizes[id]
  128.  
  129. var/name = prize.item_name
  130. var/cost = prize.cost
  131. var/path = prize.path_to
  132. var/mob/living/carbon/human/user = usr.client.mob
  133.  
  134. var/list/slots = list (
  135. "backpack" = slot_in_backpack,
  136. "left pocket" = slot_l_store,
  137. "right pocket" = slot_r_store,
  138. "left hand" = slot_l_hand,
  139. "right hand" = slot_r_hand,
  140. )
  141.  
  142. if(cost > money)
  143. usr << "\red You don't have enough funds."
  144. return 0
  145.  
  146. if(!allowed_num_items)
  147. usr << "\red You have reached maximum amount of spawned items."
  148. return 0
  149.  
  150. if(!user)
  151. user << "\red You must be a human to use this."
  152. return 0
  153.  
  154. if(!ispath(path))
  155. return 0
  156.  
  157. if(user.stat) return 0
  158.  
  159. var/obj/spawned = new path
  160.  
  161. var/where = user.equip_in_one_of_slots(spawned, slots, del_on_fail=0)
  162.  
  163. if (!where)
  164. spawned.loc = user.loc
  165. usr << "\blue Your [name] has been spawned!"
  166. else
  167. usr << "\blue Your [name] has been spawned in your [where]!"
  168.  
  169. money -= cost
  170. allowed_num_items--
  171.  
  172. show()
  173.  
  174. /datum/donator_prize
  175. var/item_name = "Nothing"
  176. var/path_to = /datum/donator_prize
  177. var/cost = 0
  178. var/category = "Debug"
  179.  
  180. proc/load_donator(ckey)
  181. establish_db_connection()
  182.  
  183. if(!dbcon.IsConnected())
  184. world.log << "Failed to connect to database in load_donator([ckey])."
  185. diary << "Failed to connect to database in load_donator([ckey])."
  186. return 0
  187.  
  188. var/DBQuery/query = dbcon.NewQuery("SELECT sum FROM forum2.z_donators WHERE byond='[ckey]'")
  189. query.Execute()
  190.  
  191. if (query.item.len)
  192. var/money = round(query.item[1])
  193. new /datum/donator(ckey, money)
  194. return 1
  195. else
  196. return 0
  197.  
  198. proc/build_prizes_list()
  199. var/list/strings = text2list ( stuff, "\n" )
  200. var/cur_cat = "Miscellaneous"
  201. for (var/string in strings)
  202. if (string) //It's not a delimiter between
  203. var/list/item_info = text2list ( string, ":" )
  204. if (item_info.len==3)
  205. var/datum/donator_prize/prize = new
  206. prize.item_name = item_info[1]
  207. prize.path_to = text2path(item_info[2])
  208. prize.cost = text2num(item_info[3])
  209. prize.category = cur_cat
  210. prizes += prize
  211. else
  212. cur_cat = item_info[1]
  213.  
  214.  
  215. /client/verb/cmd_donator_panel()
  216. set name = "Donator panel"
  217. set category = "OOC"
  218.  
  219. if(!ticker || ticker.current_state < 3)
  220. alert("Please wait until game setting up!")
  221. return
  222.  
  223. if (!donators[ckey]) //It doesn't exist yet
  224. if (load_donator(ckey))
  225. var/datum/donator/D = donators[ckey]
  226. D.show()
  227. else
  228. usr << browse ("<b>You have not donated or the database is inaccessible.</b>", "window=donatorpanel")
  229. else
  230. var/datum/donator/D = donators[ckey]
  231. D.show()
  232.  
  233. //SPECIAL ITEMS
  234. /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/threemileisland
  235. New()
  236. ..()
  237. reagents.add_reagent("threemileisland", 50)
  238. on_reagent_change()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement