Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Hipshot

Pages: [1] 2
Editor Discussion / Simple quest and dialogue in Hammerwatch 2
« on: August 18, 2022, 04:16:42 PM »
The dialogue system can be very advanced and call on various features and systems in the game, it's almost impossible to give examples of everything one can do with it, it's one of those things where you just have to experiment and see if you can do "just that".
But at least a basic dialogue and quest is simple to set up and manage, this text will explain how you do that.

(The phrase called mymod, this should be replaced with the name of the mod or something else to make it easier to identify the mod later on.)

To start with you need to create an NPC to talk to, one that can give you the quest and where you will hand it in for a reward.
In the extracted resources, go into the folder, actors/npcs/quest and copy the file named npc_halvard.unit into your modfolder and change the filename to "npc_michael.unit'.
Open the new npc and find where it says:
Code: [Select]
%defblock Dialog

%defblock Schedule
Change it so it looks like this:
Code: [Select]
%defblock Dialog

%defblock Schedule
This changes so the dialogue Michael uses are directed to a file in your modfolder and that he will be able to talk to you all hours of the day instead of just from 06 to 22 and he won't go to sleep either, he will just stand in one place whatever happens around him, you can also change where it says NPCNAME from Halvard to Michael to make it simpler to detect the npc in the game when debugging if needed.

Now you have an npc you can place in a mod level, you will have to restart the editor to see this new unit.
You will notice that when you walk up to Michael, you can't interact with him or anything like that. It's because he's missing his dialogue.

Let's add a dialogue and at the same time, add a quest to that.
We need another file to do this, a .mas file that will handle all dialogue and quests for NPCs in your mod. In the extracted resources, go into the folder tweak/quests and copy the file called world.mas into your mod folder.
Rename the file to mymod.mas. this file should contain all dialogue and quests for your mod, you can make more file if you feel it's easier or include like we have done in the base game, but in most cases you should be fine with only one file as in this example. Open the file.

To make it easier upon yourself, erase everything inside it and paste the following:
Code: [Select]
%include "scripts/Quests/"
%include "tweak/quests/"
void Execute()
GenerateFiles("mymod_world.sval", "mymod_dialog.sval");

Now you have a clean basic structure where you can add dialogue trees and quests.

Let's give Michael a dialogue that will give you a quest that you can complete.
In the .mas file, copy what's below, either the entire thing or just what's missing from the clean one you just made.
Code: [Select]
%include "scripts/Quests/"
%include "tweak/quests/"
void Execute()

CreateDialog("npc_michael", "Michael Douglas");

SetText("Hi, I'm looking for a few carrots, can you help me find these?");
SetActiveText("Did you ever find any carrots?");
SetFinishedText("Great, nom nom!");
SetAfterText("I just love carrots. I hope these lasts long!");

CreateQuest("quest-michaelsquest", "The Carrot Lover", "I love carrots, I can eat them all day if I had enough. You know, if you can bring me a hefty load, I will give you these rare boots? How about it?");
AddMissionCollectItem("carrot", 15, true);
AddRewardEquipment("feet", "epic", "expert");

GenerateFiles("mymod_world.sval", "mymod_dialog.sval");

If we break down what we see here a bit. The first line, where it says CreateDialog is what defines a dialogue for an npc here we also have the name that will be displayed on the speech bubble, more or less the name of the NPC how it's shown to players in the game. After we have that defined, we can give the npc various different types of dialogue types like, TimedPrompt, DetailPrompt, QueryPrompt etc, but now we will use the QuestPrompt.

This is a break down of the quest prompt, the most basic usage of it:

AddQuestPrompt -> This must be the corrent ID of the quest you want attached to this dialogue.
SetText -> This is the speech bubble dialogue of the npc, the one that will lure the player to take the quest.
SetActiveText -> This is the speech bubble dialogue displayed while the quest is active (not finished).
SetFinishedText -> Short speech bubble text shown when you complete the quest, usually something like "thanks".
SetAfterText -> When the quest is complete, the npc will say this.

Then after that we will add the quest itself, the one that will show up in the quest log and give us a reward when we complete it, in this case, find 15 carrots and hand them to Michael. A quest can have a plethora of variables, too many to list now, this is just a simple quest so.

CreateQuest -> The first segment is the quest ID, this is the one you call from the QuestPrompt, then you have the quest name and last the quest description, these two are displayed when you push the button for more info and can also be seen in the quest log later on.
AddMissionCollectItem -> This one defines what item to find and how many of them, the true value is set if you also want to have these items removed from your inventory, in 99% of the cases you want this.
AddRewardEquipment -> These are the boots that you get as reward when you complete the quest.
AddRewardExperience -> And this is how much experience you gain.

If you want to make another npc with another quest, duplicate this entire text and rename the CreateDialog to something else, like npc_karen or so and then play around with different quest requirements, like change the carrot to apple or dirt, you can also give money as reward or take money from the player when he completes the quest.

Hammerwatch Discussion / What we are up to right now (read this or die).
« on: December 06, 2014, 10:14:04 PM »
Ok, so I haven't posted in a while and we have been kinda passive when it comes to HW the last few weeks, haven't even looked at the horde of released HW-videos on YT =(

That's because we are doing the following:

We haven't been able to talk about it, cause we needed to have all papers signed and ready, however, it's a game in the Serious Sam-series and it features our brand new engine.
I'll write more details about this in the coming week.

I'm sure a lot of you had been expecting some fancy HW news or such, sorry, not this time!  >:(

Edit: Stickied

Hammerwatch Discussion / Patch Notes for 1.3 (Sept 2014) with Expansion
« on: September 16, 2014, 03:13:46 PM »
The Hammerwatch expansion is finally released, it's a completely new campaign with new achievements and also updated menus and much more, below are the specific details.

* Temple of the Sun - Fully new desert campaign, with new themes, bosses, challenges etc.

* Added several new achievements for the desert campaign
* Added one for the completion of both campaigns

* Added faster (5x) mana-regen speed

* Rebalanced a few skills
* Skills do not cost money to use
* Thiefs skills costs more to buy
* Thief hits with both daggers
* Graphics when destroying projectiles

* Graphics when blocking projectiles

* Can't destroy projectiles

* Better looping
* Crossfading between tracks

* Added some small sprites for mana drain and slow effects, over the player. So it's easier to see when running w/o effects and lights

* Reworked several of the menus, they should all work in any of the selectable resolutions now.
* Better menu navigation
* Small help and info section, just some basic info for new players
* Added two more resolutions, one 4k and one super small
* Looked over some features, added a color switch button instead of clicking on the hero in the lobby
* Delete and Rename saved games
* Single and Multiplayer have different load menus and games are filtered
* More random backgrounds and you now see more of them, if anyone ever cared =)
* Logo is twice the resolution =)

* Rebalanced the auto-fire

Hammerwatch Discussion / Beta test the new campaign.
« on: August 11, 2014, 03:36:46 PM »
Steam only, we need to have this tested before we can make a final launch of it.

Play with your friends and whatever, it's the entire campaign, all levels, all bosses, all secrets the full story. NO achievements though.

This is the password for the steam beta: DesertCampaign130

Please write what you think about difficulty, the vendor upgrade system, the new level deisng approach where you have a central hub and all that.


If you have any extracted assets from the game, like the english.xml you probably want to move or delete those. An old english.xml will conflict with our new one.

Custom Maps / The Space Ace
« on: July 18, 2014, 02:13:01 AM »

To play atm, use the first ranger variation. But there's really no gameplay, it's just in a testing phase

Having a little spare time, I figured I should make my own level and put up on the workshop, to give people something more to play and also provide the source to that level, for others to continue and/or change, whatever.

I figured I should do something different, just to show that you can do other themes than just the standard HW/Fantasy thing. HW is still pretty limited when it comes to certain modding aspects, like that you can't change the classes and so, but I figured I could do a tank or boat game, but I eventually landed in this space theme.

Simple story:
You play as Jay Dyllan, the space ace (and his friends if cooping). Your mission is to destroy the huge enemy battle station located in the region. It's gonna be a difficult task, since you are the only survivor in the friendly fleet.

The basic idea here is to collect resources until you are strong enough to battle the enemy base, there will be only one main level so you will be able to just fly to the base directly and die.
* Enemies will be other space ships, towers and bases.
* Currency used will be scrap metal collected by killing enemy ships, destroying asteroids and liberating space stations.
* Upgrades will be much more frequent than in HW, but will boost much less.
* Skills, since the core of the skills can't be changed, they will be tweaked heavily and also, the graphics will ofc change. E.g. bombs from the ranger will be mines instead.
* Classes will be the regular ones, but reskinned as small space ship, skills will be tweaked and get new grapics. First, the focus should be the ranger and when the game play is solid, introduce more.
* Other things might be that you could enter some planets to find resources, to introduce the keys like some rare metals, like in the desert campaign, that you will use to upgrade vendors.

Completely top down:
The angle here is from straight above, compared to HW wich is a bit tilted. It should be much easier to produce graphical content and fits the gameplay much better.

I was thinking that this could be a community thing too, so if some one would like to contribute space ships, bases and planets, please do! I will constantly release the source too, if someone would like to make their own space game, or change it into something else, or just look how things are made.

Editor Discussion / Custom HUD
« on: July 06, 2014, 05:11:48 PM »
Ok, here's an example I made on toggleable HUD elements, made possible in the last patch (123).


It demonstrates an intro, a tutorial text, a simple text notation and a solvable "quest". I provided the source so everyone can see how I did this.

Editor Discussion / Console commands
« on: July 04, 2014, 01:43:24 PM »
I should have posted this a long, long time ago.

I attached a file called console.xml, if you download and place that file where your hammerwatch.exe is, you can use the same commands I use when I work with the same shortcuts, it will make your life as a modder much easier.

You can edit the keys in the xml if you like.

Things you probably wanna use, a lot, is god, nocip and speed. These are the commands I use, pretty much all the time.

Editor Discussion / Gibs/Complex particles
« on: June 27, 2014, 01:21:06 PM »

Ok, we added a new feature called Complex Particles (or a gibs), it's a system that let's you spawn more effects when something dies or from the editor via the entity called PlayGibs.

More specific, it give you the choice of spawning a bunch if sprites with or w/o an added particle trail, down here are a few example xmls:

This first one here is a bomb, the item dropped from barrels and by the ranger.
Code: XML
  1. <gib speed="2" power="3" spread="0" life="0.8" particle="effects/particles.xml:bone-particle" particle-color="0 0 0">
  2.         <sprite scale="16">
  3.                 <origin>1 1</origin>
  4.                 <texture>effects/gibs/gib.png</texture>
  5.                 <frame>45 0 3 3</frame>
  6.         </sprite>
  8.         <sprite scale="16">
  9.                 <origin>1 1</origin>
  10.                 <texture>effects/gibs/gib.png</texture>
  11.                 <frame>48 0 3 3</frame>
  12.         </sprite>
  14.         <sprite scale="16">
  15.                 <origin>1 1</origin>
  16.                 <texture>effects/gibs/gib.png</texture>
  17.                 <frame>51 0 3 3</frame>
  18.         </sprite>
  19. </gib>

The bat has a very simple effect, it's only the trail and no gib-sprites:
Code: XML
  1. <gib speed="0.75" power="1" life="0.4" particle="effects/particles.xml:bone-particle" particle-color="100 0 0"></gib>

And these are the parameters controlling the behavior:
speed = how fast the gibs travels from start
power = how many gibs, not the exact amount, it's a multiplier
life = how long they live, speed and life effects the travel distance
spread = so gibs won't all spawn from the same point, default is 0.5 here
no-rotation = gibs can have a slight rotation, or not

This is an option in the gfx menu, so even if default is ON, one should not expect everyone to see these effects.

Editor Discussion / Composite Skills
« on: April 19, 2014, 01:24:31 PM »
The composite AI typ can have several different skills used by monsters, most of them are active skills but there's also a few passive ones.
Active skills goes inside the <array name="skills"></array> tags and passive ones goes under <array name="pskills"></array>. Various different enemy types can be made from using these skills, like towers, archers, casters etc.

These are all the active ones (I think).

Level Event
Calls upon an event in a level, an event is specified in the GlobalEventTrigger, just type something there and it will execute when this skill triggers.

Code: XML
  1. <dictionary>
  2.         <string name="conditional">hp lt 0.5</string>                                  
  3.         <string name="type">event</string>
  4.         <int name="cooldown">5000</int>
  5.         <float name="range">25</float>
  6.         <string name="event">eventname</string>
  7. </dictionary>                                  

When you want the enemy to spawn other monsters or other units, two examples below, the first one is used as a skill by lich_3 (black liches that summons fast skeletons in Act 4). The other example is a lich that summons item/bombs in an arc in front of him, used in the not yet released desert campaign. Prefabs can not be spawned.

Code: XML
  1. <dictionary name="summon">
  2.         <entry name="actor"><string>actors/skeleton_3.xml</string></entry>
  3.         <entry name="timer"><int>2000</int></entry>
  4.         <entry name="parts"><int>3</int></entry>
  5.         <entry name="effect"><string>effects/particles.xml:flash_summon</string></entry>
  6.         <entry name="sound"><string>sound/monsters.xml:lich_summon</string></entry>
  7. </dictionary>
  9. <dictionary>
  10.         <string name="type">summon</string>
  11.         <string name="anim-set">attack</string>
  12.         <int name="cooldown">1500</int>
  13.         <float name="range">100</float>
  14.         <float name="dist">4</float>
  15.         <string name="sound">sound/monsters.xml:lich_summon</string>
  16.         <int name="num">10</int>
  17.         <int name="arc">150</int>
  18.         <string name="actor">items/bomb_lich_desert_1.xml</string>
  19.         <bool name="safety-raycast">false</bool>                                       
  20. </dictionary>

Heals other enemies, used on lich_2 in Act4

Code: XML
  1. <dictionary>
  2.         <string name="type">heal</string>
  3.         <string name="anim-set">attack</string>
  4.         <int name="cooldown">500</int>
  5.         <float name="range">40</float>
  6.         <string name="sound">sound/monsters.xml:lich_heal</string>
  7.         <int name="heal">20</int>
  8.         <float name="cast-range">10</float>
  9.         <string name="particle">effects/particles.xml:player_heal</string>
  10. </dictionary>

Teleports an enemy a certain distance, if negative it will blink towards the player.

Code: XML
  1. <dictionary>
  2.         <string name="type">blink</string>
  3.         <string name="anim-set">attack</string>
  4.         <int name="cooldown">1500</int>
  5.         <float name="range">2.5</float>
  6.         <string name="sound">sound/misc.xml:spawn_tele</string>
  7.         <float name="dist">5</float>
  8.         <string name="effect">effects/particles.xml:flash</string>
  9. </dictionary>

A normal hit attack, this is skeleton_2_elite. If cooldown is above "0", that will be the delay in milliseconds between each attack animation.

Code: XML
  1. <dictionary>
  2.         <string name="type">hit</string>
  3.         <string name="anim-set">attack</string>
  4.         <int name="cooldown">0</int>
  5.         <float name="range">2</float>
  6.         <int name="dmg">25</int>
  7. </dictionary>

Applies a buff on enemies or players, the first example is the red bloodlust effect cast by several minibosses, like the large tick in act 1 (tick_1_mb). The other example is a banner that drains mana from players close by. Results is heavily dependent on how the buff is constructed in itself, this just allows enemies to apply them.

Code: XML
  1. <dictionary>
  2.         <string name="type">buff</string>
  3.         <int name="cooldown">1000</int>
  4.         <float name="range">13</float>
  5.         <float name="cast-range">13</float>
  6.         <string name="category">Enemy</string>
  7.         <string name="buff">buffs/bloodlust.xml</string>                                       
  8. </dictionary>  
  10. <dictionary>
  11.         <string name="type">buff</string>
  12.         <int name="cooldown">100</int>
  13.         <float name="range">100</float>
  14.         <float name="cast-range">5</float>
  15.         <string name="category">Player</string>
  16.         <string name="buff">buffs/banner_drain.xml</string>                                    
  17. </dictionary>

A nova that can be set to shoot several projectiles with an attack animation AND an animation that plays while the nova is active. This example is from the miniboss lich (lich_1_mb) on Act 4.

Code: XML
  1. <dictionary>
  2.         <string name="type">whirlnova</string>
  3.         <string name="anim-set">attack</string>
  4.         <int name="cooldown">2000</int>
  5.         <float name="range">15</float>
  6.         <float name="min-range">2</float>
  7.         <int name="duration">2500</int>
  8.         <string name="chnl-anim">whirlwind</string>
  9.         <string name="projectile">projectiles/enemy_lich_1_mb.xml</string>
  10.         <int name="proj-delay">33</int>
  11.         <int name="per-revolution">8</int>
  12. </dictionary>

Shoots projectiles in a organized or random fashion, can be controlled, first example is from the Lich boss in the survival level (lich_boss_small), the second one is a tracking tower in the yet to be released desert campaign (tower_tracking_3) and the last one is the healing frost lich on Act 4. All these attacks are very different and are also heavily affected by what kind or projectile that is used and their behavior.

Code: XML
  1. <dictionary>
  2.         <string name="conditional">hp lt 0.25</string>
  4.         <string name="type">spew</string>
  5.         <string name="anim-set">attack</string>
  6.         <int name="cooldown">4000</int>
  7.         <float name="range">14</float>
  8.         <string name="sound">sound/misc.xml:spawn_tele</string>
  9.         <string name="chnl-anim-set">attack</string>
  10.         <string name="proj">projectiles/enemy_lich_boss_small2.xml</string>
  11.         <float name="spread">0.5</float>
  12.         <int name="rate">33</int>
  13.         <int name="duration">2500</int>
  14.         <int name="ang-offset">180</int>
  15. </dictionary>
  17. <dictionary>
  18.         <string name="sound">sound/monsters.xml:tower_shoot_beam</string>                                                      
  19.         <string name="type">spew</string>
  20.         <int name="cooldown">750</int>
  21.         <float name="range">100</float>
  22.         <string name="chnl-anim-set">attackstatic</string>                             
  23.         <string name="anim-set">attack</string>                                                
  24.         <bool name="static-dir">true</bool>
  25.         <string name="proj">projectiles/enemy_tower_drainbeam.xml</string>
  26.         <float name="spread">0</float>
  27.         <int name="rate">10</int>
  28.         <int name="duration">300</int>
  29. </dictionary>
  31. <dictionary>
  32.         <string name="type">spew</string>
  33.         <string name="anim-set">attack</string>
  34.         <int name="cooldown">3000</int>
  35.         <float name="range">3</float>
  36.         <string name="chnl-anim-set">attack</string>
  37.         <string name="proj">projectiles/enemy_lich_frostspray.xml</string>
  38.         <float name="spread">0.33</float>
  39.         <int name="rate">45</int>
  40.         <int name="duration">2500</int>
  41. </dictionary>

Used to shoot a single projectile, like an arrow or such.

Code: XML
  1. <dictionary>
  2.         <string name="type">shoot</string>
  3.         <string name="anim-set">attack</string>
  4.         <int name="cooldown">3000</int>
  5.         <float name="min-range">2.5</float>
  6.         <float name="range">20</float>
  7.         <string name="sound">sound/monsters.xml:lich_seeker</string>
  8.         <string name="proj">projectiles/enemy_arrow_1.xml</string>
  9. </dictionary>

Teleports to destinations, a destination is any PathNode in a level, used by the Survival lich boss (lich_boss_small).

Code: XML
  1. <dictionary>
  2.         <string name="conditional">hp lt 0.5</string>
  4.         <string name="type">teleport</string>
  5.         <float name="range">15</float>
  6.         <int name="usages">1</int>
  7.         <string name="sound">sound/misc.xml:spawn_tele</string>
  8.         <float name="min-dist">15</float>
  9.         <float name="max-dist">60</float>
  10.         <bool name="trail">true</bool>
  11. </dictionary>

Ground Hit
Same as the attack used by flowers (but not by the flowers, since they are not composite units), a spike launched up from the ground, or it's more an attack that spawns under the player, the graphics could be whatever.

Code: XML
  1. <dictionary>
  2.         <string name="type">ground-hit</string>
  3.         <string name="anim-set">attack</string>
  4.         <string name="chnl-anim-set">hold</string>
  5.         <int name="cooldown">1000</int>
  6.         <float name="range">5</float>
  7.         <string name="sound">sound/monsters.xml:hit_flower_1</string>
  8.         <string name="attack-effect">actors/guard_desert_1.xml:attack-effect</string>
  9.         <int name="dmg">10</int>
  10.         <int name="max-targets">1</int>
  11.         <int name="dmg-delay">400</int>
  12.         <float name="dmg-range">0.125</float>
  13. </dictionary>
  14. </array>

These are all the passive skills.

When you struck the monster, it can drop things, just like loot, this is a tick (tick_2) that drops money when hit. It can be monsters or something else too, but not prefabs.

Code: XML
  1. <dictionary>                           
  2.         <string name="type">drop</string>
  3.         <string name="sound">sound/monsters.xml:death_tick_golden</string>
  4.         <int name="hp">14</int>
  5.                 <dictionary name="loot">
  6.                         <string name="origin">0 0</string>
  7.                         <float name="spread">0.5</float>
  8.                                 <array name="loot">
  9.                                         <array>
  10.                                                 <int>50</int><string>items/valuable_9.xml</string>
  11.                                                 <int>450</int><string>items/valuable_8.xml</string>
  12.                                                 <int>500</int><string>items/valuable_7.xml</string>
  13.                                         </array>                                       
  14.                                 </array>
  15.                 </dictionary>                                  
  16. </dictionary>

If you strike a monster, there's a chance it will reflect some damage back and also it can apply a buff doing so. It can be compared to the Wizard Frost Armor skill.

Code: XML
  1. <dictionary>
  2.         <string name="type">retaliate</string>
  3.         <string name="sound">sound/monsters.xml:lich_summon</string>
  4.         <string name="effect">effects/particles.xml:flash</string>
  5.         <int name="chance">50</int>
  6.         <int name="dmg">5</int>
  7.         <string name="buff">buffs/enemy_tower_icebeam.xml</string>
  8. </dictionary>

Give the monster armor, that can block a certain number or percentage of the damage you deal to it.

Code: XML
  1. <dictionary>
  2.         <string name="type">armor</string>
  3.         <string name="sound">sound/monsters.xml:lich_summon</string>
  4.         <string name="effect">effects/particles.xml:flash</string>
  5.         <int name="chance">100</int>
  6.         <int name="dmg-sub">2</int>
  7.         <float name="dmg-mul">0.5</float>
  8. </dictionary>

I think that's all....

Hammerwatch Discussion / Temple of the Sun - some spoilers in here.
« on: February 06, 2014, 10:36:28 AM »
Here's some information about the desert campaign, it's still a while before this is done, but at least you know a little more! This could be seen as a major spoiler both on some graphics, but also how the entire campaign works, so people who really cares should not read below this.

The campaign takes place around and inside the Sun Temple just outside the town Sunspot in the arid desert of Aridara (I'll show you the "HW-world map" sometime in the very very distant future).

Ok, so the primary themes you will be playing inside are, the Desert (h), Temple (g) and Cave (e) settings. You start out in the desert, this is also where all vendors will be located, most npcs and such. Caves uses these zelda-ish flowers instead of barrels and vases, there's much more vegetation and it uses raisable bridges instead of doors. The temple design is compared to the cave more similar to the original hw campaign, it uses much more traps and difficult enemies. These themes are shown below.

The level progression isn't as linear as it was in the old campaign, it's more free now and you will be returning to levels already completed, later in the game, both by choice and as a requirement, there will not be any such thing as a block that will prevent you from returning to a previous level after you completed a boss - if you forgot something you can go back and get it. The picture below describes it better, where the red ones are natural progression, dark red are shortcuts activated later and blue are teleport shortcuts.

The teleports that takes you to back from the hub level needs to be activated from the level you want to travel back to, for example, if you want to go back to the second cave level, you need to find and activate the teleport there, if you don't you will need to walk the long way back through the first cave level. Teleports are activated through a special teleport rune key, you are never required to activate them, but it will make it much easier for you!

Difficulty level is higher, for several reasons, both because it's less levels and also because it's more free. Less levels means that enemies gets more difficult faster and things deal more damage earlier.

The second factor here is how you choose to level up your character, the vendor system in this campaign is completely different from how it was in the original, where you met vendors as you went along and they always became better and better and you could just buy whatever you wanted when you found them. Here you collect minerals that you use to level up the vendors, you are free to level them however you want, so you could just level the damage vendor to level 5 as soon as possible, however, while this will grant you possible excessive damage, it will also hinder you from gaining walk speed, armor, health, mana and combo, so you unless you plan on taking little to no damage, this might be a bad choice, also, money is still a restriction, leveling something to level 5 will most likely keep you from buying all those level 5 upgrades anyway. There's not gonna be minerals to level up all vendors to level 5 and there's not gonna be enough money to buy everything in the game - so it's a bit trail by error here for people playing it the first time (I had a small idea about refunding and reusing minerals, but I don't think it's such a good idea in the end).

The HUD will represent some of these changes, like the mirrors that are part of the quest inside the temple, the teleport rune keys and the minerals used to level vendors, the bronze key has been removed completely.

Some other random information is that it's going to be two bosses, new traps, new enemies with new behaviors, a new bonus level, a stronger story and lore and more randomized sections and parts, new achievements and some easter eggs.

Things not attached to the campaign itself is the two new classes of course, with first and foremost the thief (he was the rogue before), he has smoke bombs and throws daggers, he also gathers more gold than other players, but also spends gold with some of his skills, those skills are really good but you might want to save your money too and not over use them. There's really no information about the priest, other than that I want him to redefine how you heal other characters and also reflect this into scoring, but it's up to myran to design them, the graphics isn't made yet, but it's underway, at least I can show the thief, the design is based upon the Defias from wow.

Editor Discussion / Kinda cool.
« on: December 25, 2013, 02:23:24 PM »

Hammerwatch Discussion / Patch Notes for 1.2
« on: December 17, 2013, 02:20:55 AM »
Patch 1.2 is now released, focus has been on balancing the game and make the overall campaign experince more fun, by adding random character upgrade drops, minibosses etc. Also, one thing we are testing is by having the Ranger walk and attack at the same time. Below is a more specific change list =)

  • Ranger can now walk while attacking.
  • Health upgrades now give 20 health instead of 30
  • Ranger now starts with 0 armor instead of 2
  • Spread shot upgrades nerfed slightly
  • Arrow penetration now removes 15% damage instead of 25%

  • Enemies that die with the dagger poison applied to them now explode
  • Dagger poison now lowers enemy damage by 25%
  • Lowered dagger damage

  • Charge now always goes through enemies even though the enemy did not die
  • Charge damage lowered
  • Lowered end-game armor upgrades
  • Healing now heals around half as fast and costs more mana

  • Act 1: Removed random flower positions.
  • Act 1: Added 3 more 1ups.
  • Floor 1: Added a passage from Floor 1 to Floor 3 for people that which to skip Floor 2 (hidden of course).
  • Floor 2: Easy, disabled the very difficult spike floor in the middle of the level!
  • Floor 2/3: Easy, removed some elite maggots.
  • Floor 3: Level 1 weapon store added (in case you missed it on Floor 2).
  • Floor 3: Easy, removed some arrows shooting from a trap.
  • Boss 1: Easy, disabled the spike trap floor and arrow traps.
  • Floor 5/6: Changed a small red diamond into a upgrade on a Pyramid top.
  • Floor 6: Out of world fix.
  • Floor 9: Opened up some paths.
  • Floor 11: Changed waypoint after the spike traps, it's easier to get now.
  • Floor 12: Added an upgrade to the large fire trap floor.
  • Boss 4: Changed how this room works when killing the dragon.

  • Tweaked the Dragon boss to become harder.
  • Dragon boss Fire Balls now have a proper splash damage radius.
  • Lich_1 and Lich boss now shoots through players, can potentially hit other players behind.
  • Lich boss mirror images now turns into white bats when they die.
  • Towers and Flowers now have a chance to drop upgrades and vendors coins.
  • Added minibosses to all acts. Minibosses has a lot more health and are much more dangerous then regular foes, they will always cast bloodlust on monsters close to them, they will always drop a random upgrade and a vendor coin.
  • Lich 3 (healer lich) also has an ice spray (slows and damage players) and more health, he's also been tinted blue.
  • Added flower markings around them, which outlines the range of a flower.

  • Make actors immortal (new entity).
  • Speech bubble system added (new entity).
  • Added status effects on damage (xml).
  • Added HP bar tag to actors (xml).
  • Added penetrating projectile behavior (xml).
  • Added melee hit to composite AI (xml).
  • Added healing as a composite AI skill (xml).
  • Added whirlwind composite skill (xml).
  • Added whirlnova composite skill (xml).
  • Notification text tag added, like "1up" on lives and what kind of upgrade you just picked up (xml).
  • Spawn actors (enemies) via the loot system (xml).
  • Added Optimize object IDs to editor, use before saving prefabs.
  • Physics simulation can now be toggled off in the editor.
  • Added prefabs (new "level" files).
  • Collision on money drops, easier to select.
  • Levels can now have a global Add light applied.
  • ObjectEventTrigger can now be attached to dynamic object lists (like the "Last spawned" on the SpawnObject script).

  • Added glare effect (advanced graphical settings).
  • Enemy difficulties now scale when people drop in and out.
  • End-game damage upgrades are now more expensive.
  • Added a "score" button to the stats screen.
  • Added some tutorial texts, can be seen by hitting a clue stone on the ground.
  • Added some hint texts, can be seen by hitting one of the blue thieves around the game.
  • Changed a intro and extro, added a bit more story to the game.
  • Some traps added to the minimap, like spike traps, fire floor and turrets in Act 4.
  • Chance puzzle, increased the chance to get the purple chest, added the purple chest to the game.

New Achievments:
  • Christmas 2013 - Find 24 Christmas presents before, well, when we choose to end it.
  • Worse than Ghost and Goblins - When Beard vs Games played the game, they failed, fail like they did.
  • Midway - Get down the special exit from Floor 10, back to Floor 1.
  • The Grisly Combination - Solve it like it was E1M4, a Quake 1 reference.
  • Combo Killer - Get a combo of 200.
  • Combo Master - Get a combo of 1000.

Hammerwatch Discussion / Steam Cards
« on: November 12, 2013, 10:07:55 PM »
Just added.

Resources / All campaign maps, zipped and ready.
« on: October 29, 2013, 04:35:30 PM »
Here are all the levels that are playable in the campaign, download and have a look if there's something you wondered about!

Hammerwatch Discussion / Soundtrack release
« on: October 09, 2013, 09:27:19 AM »
Here's the soundtrack for everyone to enjoy! It's made by two feathers and they allowed us to release it.

MP3 110MB

01 Hammerwatch
02 At the Gates
03 Further In
04 Slightly Mad
05 Defeated the Boss
06 The Armory
07 Metal Chambers
08 Pens and Swords
09 Runes and Destiny
10 Heroes Never Die
11 Really Mad!
12 Paladin Needs Food, Badly!
13 BONUS Creepy Castle
14 BONUS Creepier Castle

Pages: [1] 2