fork download
  1. import es
  2. import playerlib
  3. import usermsg
  4. import gamethread
  5.  
  6. import sigilmod
  7. from sigilmod import sigilmod
  8.  
  9. sigilName = 'Death Note'
  10. manaCost = 0
  11.  
  12. if not sigilmod.dict_infoSigils.has_key('Death Note'):
  13. sigilmod.dict_infoSigils['Death Note'] = {}
  14. sigilmod.dict_infoSigils['Death Note']['type'] = 'Active'
  15. sigilmod.dict_infoSigils['Death Note']['cost'] = '%s mana + 50\% of your current mana!'%manaCost
  16. sigilmod.dict_infoSigils['Death Note']['info'] = 'People that have hurt you will be listed for you to kill...'
  17.  
  18. ''' Type in a person's name that you have made contact with and it will kill them in 30 seconds. Only 2 names can be written down every round. '''
  19.  
  20.  
  21. # Death Note Sigil Coding
  22.  
  23. d_deathnote = {}
  24. d_deathlist = []
  25. d_cooldown = {}
  26. def power():
  27. userid = str(es.getcmduserid())
  28. steamid = es.getplayersteamid(userid)
  29. player = playerlib.getPlayer(userid)
  30.  
  31. sigil = sigilmod.getPowers(userid, sigilName)
  32. mana = sigilmod.dict_sigPlayers[steamid]['mana']
  33. a_manaCost = manaCost + int(mana * .5)
  34. if int(player.isdead) != 1:
  35. if sigil:
  36. if not d_cooldown.has_key(steamid):
  37. d_cooldown[steamid] = 1
  38. if d_cooldown[steamid] == 1:
  39. es.tell(userid, '#multi','#lightgreen[Active]#green[Death Note]#default To kill a player, you need to type in his or her name! (Requires %s mana)'%a_manaCost)
  40. d_cooldown[steamid] = 0
  41. gamethread.delayed(5, cooldown, steamid)
  42.  
  43. def poweroff():
  44. return
  45.  
  46. def cooldown(steamid):
  47. if d_cooldown[steamid] == 0:
  48. d_cooldown[steamid] = 1
  49.  
  50. def player_hurt(ev):
  51. attacker = ev['attacker']
  52. victim = ev['userid']
  53. a_steamid = es.getplayersteamid(attacker)
  54. v_steamid = es.getplayersteamid(victim)
  55. a_name = es.getplayername(attacker)
  56. v_name = es.getplayername(victim)
  57.  
  58. sigil = sigilmod.getPowers(attacker, sigilName)
  59. if sigil:
  60. if not d_deathnote.has_key(a_steamid):
  61. d_deathnote[a_steamid] = []
  62. if v_name not in d_deathnote[a_steamid]:
  63. d_deathnote[a_steamid].append(v_name)
  64. sigil = sigilmod.getPowers(victim, sigilName)
  65. if sigil:
  66. if not d_deathnote.has_key(v_steamid):
  67. d_deathnote[v_steamid] = []
  68. if a_name not in d_deathnote[v_steamid]:
  69. d_deathnote[v_steamid].append(a_name)
  70.  
  71. def player_say(ev):
  72. userid = ev['userid']
  73. text = ev['text']
  74. sigil = sigilmod.getPowers(userid, sigilName)
  75.  
  76. if sigil:
  77. process_deathnote(userid, text)
  78.  
  79. def process_deathnote(uid, text):
  80. killer = uid
  81. steamid = es.getplayersteamid(killer)
  82. if not playerlib.getPlayer(killer).get('isdead'):
  83. for x in d_deathnote[steamid]:
  84. if text in x:
  85. name = x
  86. victim = es.getuserid(name)
  87. if not playerlib.getPlayer(victim).get('isdead'):
  88. mana = sigilmod.dict_sigPlayers[steamid]['mana']
  89. a_manaCost = manaCost + int(mana * .5)
  90. if mana >= a_manaCost:
  91. sigilmod.dict_sigPlayers[steamid]['mana'] = mana - a_manaCost
  92. d_deathlist.append(victim)
  93. heartAttack(victim, killer)
  94. break
  95. break
  96.  
  97. def heartAttack(victim, killer):
  98. usermsg.fade(victim, 1, 1000, 300, 255, 0, 0, 240)
  99. es.emitsound('player', userid, 'sigilmod/sigil_heartbeat.wav', '1.0', '1.0')
  100.  
  101. name = es.getplayername(victim)
  102. killer = es.getplayername(killer)
  103. es.msg('#multi', '#default[%s]#green[DEATH NOTE] : #lightgreen%s'%(killer, name))
  104.  
  105. gamethread.delayed(25, finalCheck, (victim, killer))
  106.  
  107. def finalCheck(victim, killer):
  108. gamethread.delayed(0, es.stopsound, (victim, 'sigilmod/sigil_heartbeat.wav'))
  109. if not playerlib.getPlayer(killer).get('isdead'):
  110. name = es.getplayername(victim)
  111. if name in d_deathlist:
  112. es.server.queuecmd('damage %s 9999 32 %s'%(victim, killer))
  113.  
  114. def player_spawn(ev):
  115. userid = ev['userid']
  116. name = es.getplayername(userid)
  117. if name in d_deathlist:
  118. gamethread.delayed(0.1, es.stopsound, (userid, 'sigilmod/sigil_heartbeat.wav'))
  119. del d_deathlist[:]
  120.  
  121. def player_disconnect(ev):
  122. steamid = ev['networkid']
  123. if d_deathnote.has_key(steamid):
  124. del d_deathnote[steamid]
  125.  
  126. def player_death(ev):
  127. userid = ev['userid']
  128. steamid = es.getplayersteamid(userid)
  129. if d_deathnote.has_key(steamid):
  130. d_deathnote[steamid].clear()
  131.  
  132. def es_map_start():
  133. d_deathnote.clear()
Runtime error #stdin #stdout 0.03s 6656KB
stdin
Standard input is empty
stdout
Standard output is empty