- redef fun react_player_event(game) do
- if action == "opened" then
- var player = pull.user.player(game)
- player.nitcoins += 10
- player.save
+ redef fun react_player_event(r, game) do
+ if action == "opened" or action == "reopened" then
+ react_pull_open(r, game)
+ else if action == "closed" then
+ react_pull_close(r, game)
+ end
+ end
+
+ private fun react_pull_open(r: PlayerReactor, game: Game) do
+ var player = pull.user.player(game)
+ player.nitcoins += r.nc_pull_open
+ player.save
+ var event = player_reward_event("pull_open", player, r.nc_pull_open)
+ player.add_event(event)
+ end
+
+ private fun react_pull_close(r: PlayerReactor, game: Game) do
+ var player = pull.user.player(game)
+ var reward
+ var event
+ if pull.merged then
+ reward = pull.commits * r.nc_commit_merged
+ event = player_reward_event("pull_merged", player, reward)
+ else
+ reward = -r.nc_pull_open
+ event = player_reward_event("pull_closed", player, reward)