summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/lib/activity_processor.rb5
-rw-r--r--app/views/application/_results.html.erb2
2 files changed, 7 insertions, 0 deletions
diff --git a/app/lib/activity_processor.rb b/app/lib/activity_processor.rb
index 3f62d28..4ba3609 100644
--- a/app/lib/activity_processor.rb
+++ b/app/lib/activity_processor.rb
@@ -115,6 +115,11 @@ class ActivityProcessor
location = @character.hearth&.location || Location.find_by_gid("floret")
@character.update(location: location)
@results.push({ type: type, location: location })
+ when "create_monster_spawn"
+ next if rand > (result[:chance] || 1)
+ monster = Monster.find_by_gid(result[:gid])
+ MonsterSpawn.create(monster: monster, location: @character.location)
+ @results.push({ type: type, monster: monster })
else
raise "Invalid result type (#{type})" # TODO: Improve this.
end
diff --git a/app/views/application/_results.html.erb b/app/views/application/_results.html.erb
index d1ec927..71d6992 100644
--- a/app/views/application/_results.html.erb
+++ b/app/views/application/_results.html.erb
@@ -26,6 +26,8 @@
<% when "monster_spawn" %>
<p>You found the <%= result[:monster_spawn].monster.name %>!</p>
<p class="text-xs italic"><%= result[:monster_spawn].monster.description %></p>
+ <% when "create_monster_spawn" %>
+ <p>You've called a <%= result[:monster].name %>!</p>
<% when "xp" %>
<p class="text-xs">You gained <%= result[:xp] %> <%= result[:skill].name %> XP.</p>
<% when "title" %>