extends "res://scripts/nodes/painting.gd"
var item_id
var item_amount
func _ready():
var node_path = String(
get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names()
)
var gamedata = global.get_node("Gamedata")
var door_id = gamedata.get_door_for_map_node_path(global.map, node_path)
if door_id != null:
var ap = global.get_node("Archipelago")
var item_lock = ap.get_item_id_for_door(door_id)
if item_lock != null:
item_id = item_lock[0]
item_amount = item_lock[1]
self.senders = []
self.senderGroup = []
self.nested = false
self.complete_at = 0
self.max_length = 0
self.excludeSenders = []
call_deferred("_readier")
super._ready()
func _readier():
var ap = global.get_node("Archipelago")
if ap.client.getItemAmount(item_id) >= item_amount:
handleTriggered()
tgroup label='branches'>
blob: ba6e6d5be34a142e2829b1884ce29af7f14b499c (
plain) (
tree)
|
|
module Votable
extend ActiveSupport::Concern
included do
has_many :votes, as: :votable
def already_upvoted?(ip)
!votes.where(ip: ip, upvote: 1).empty?
end
def already_downvoted?(ip)
!votes.where(ip: ip, upvote: 0).empty?
end
def upvote!(ip)
return false if already_upvoted?(ip)
if already_downvoted?(ip)
votes.where(ip: ip, upvote: 0).first.delete
self.downvotes -= 1
save!
else
votes.create(ip: ip, upvote: 1).save
self.upvotes += 1
save!
end
end
def downvote!(ip)
return false if already_downvoted?(ip)
if already_upvoted?(ip)
votes.where(ip: ip, upvote: 1).first.delete
self.upvotes -= 1
save!
else
votes.create(ip: ip, upvote: 0).save
self.downvotes += 1
save!
end
end
end
end
|