Diablo 1, just a few K triggers
Post #1
Ahli
May 31 2008, 7:11 pm
|
Nothing yet! Almost done. Very powerful, very strong.
|
D I A B L O 1 ![]() Gameplay:
Hero Classes:
Items:
Enemies:
Changes from the original Diablo:
Technical Details:
Progress: (atm: >60.000 triggers) Currently working on: setting up fights while walking by enemies inside the dungeon The needed Screenshots that this map exists: picture of pre alpha tristram (you can see payne's path out of his Diablo II project): ![]() picture of my triggers (I learned to map like Tuxlar: scmdraft2 + notepad++ + modified version of tuxlar's macros [msg me, if you want that file OR you have a look here]): ![]() (un)interesting stats for myself: This post was edited 51 times, last edit by Ahli: Dec 22 2009, 1:27 pm. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Post #2
payne
May 31 2008, 7:19 pm
Post #3
FooFighters
May 31 2008, 9:27 pm
Post #5
Demented Shaman
Jun 1 2008, 2:52 am
Post #6
Ahli
Jun 2 2008, 7:32 pm
|
Nothing yet! Almost done. Very powerful, very strong.
|
I just thought and realized the best method to multiply unknown values within a known limit.
Attachments:
I combined 2 binary countoffs. One for the first variable and one for the second one. Try to understand the triggers in the attached .txt. Open it in notepad++ or wordpad. HF understanding what I did. I hope somebody can transfer that triggers into words and add it to the wiki. I'm not able to write sentences that will make most people to understand what I try to teach. ~Ahli ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Post #8
HCM™stickynote
Jun 3 2008, 4:36 am
Post #9
Vrael
Jun 3 2008, 4:47 am
|
I believe you used binary in combination with expanded notation. For example, 247 x 312.
= (2^7 +2^6 +2^5+2^4+2^2+2^1+2^0)x(2^8+2^5+2^4+2^3) Then when you run the triggers, you Foil it out basically. Say the 247 slot is A and 312 is B So when B is at least 2^8 (from the expanded 312 notation), you subtract 2^7 from 247, add 2^(7+8) to your sum value, and then in the next trigger since iLvl was not subtracted from, the 2^6 is subtracted from 247, and 2^(6+8) is added to the sum value. This continues down the line, then 2^8 is subtracted from the 312 value, and the process repeats for 2^5. The binary countoffs are simply to account for the different numbers. I'm pretty sure you had an "add" for every power of 2 between 0 and 15, and as long as the values never exceed 2^15 the system won't break. Wait, (2^15)-1. And then you used the Temp value (I think temp3 or w/e.) to add the values back in to repeat for each value of the expanded notation. In this case, after 2^8 cycles though, it re-adds the 247 and then cycles again with 2^5. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #10
Demented Shaman
Jun 3 2008, 5:44 am
|
I haven't looked at it, but it sounds like you're doing something I already know of. Well, at least the method I'm thinking of is the most efficient one I've seen.
Attachments:
I made a map here. The factors are initialized in the first trigger. I also saw a slight variation done by spineshealth which breaks one of the factors down into its binary components and sets switches that represent each place. It's very nice because it eliminates the need for all the restore trigger groups, although it takes up switches. Here's his post at blizzforums http://www.blizzforums.com/showpost.php?p=185910&postcount=63 with his calculator map This post was edited 3 times, last edit by devilesk: Jun 3 2008, 5:52 am. ![]() ![]() ![]() ![]() ![]() ![]() |
Post #11
Ahli
Jun 3 2008, 11:42 am
|
Nothing yet! Almost done. Very powerful, very strong.
|
@devilesk
Yes, I am doing exactly the same like in your attached map . I just used higher limits for 1 value.The strength of this system is that you are able to multiply 2 large numbers with pretty less triggers. @vrael yes. I just didn't know how to call that system. I would like to see somebody adding that to the wiki because I did not know that method before and I figured it out myself. @stickynote It's a turn based combat system because..... errrr I can come much closer to the original game. I'm using the original functions to calculate everything. You could say it will be like a mixture out of diablo, final fantasy und pokemon.... (walking around and random enemies appear). Maybe I will add timers for every action in the end to have a real time combat in the end (maybe multiple enemies, too). But first, I create the basic method. With a not turn based method, it would be hard to implement all the weapons and the magic items. Or how would you implement +58% weapon damage? But I need to change the unique items because the most original ones are much weaker than the best magical items you find. If you like to have some "special" unique items, maybe I will add them. Atm I'm implementing the battle system: You are facing your enemy and there are mostly 4 free spaces between you and the monster. A warrior would simply select "attack" and move forward untill he stands in front of his Enemy and then he starts to deal damage. Later, if you have the "Teleport spell", you can teleport directly to the enemy and attack. But that costs Mana that can only be filled by potions and level ups. Ranged units like Skeleton Archers or the Player with a Bow can attack all the time. But this could be changed in the end, if I like to create a much more realistic battle scene. Then I could try to create an AI for the monsters, but I will see that later. First the "simple" version of Diablo 1 has to be created or I will never finish it. ;P Btw, maybe I will run into string issues. Can I modify the locations in the end to use 1 string or won't that work because different strings could be needed for starcraft to differentiate which location is ment? Or does starcraft identify them like units with their ID? This post was edited 1 time, last edit by Ahli: Jun 3 2008, 12:13 pm. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Post #13
Ahli
Jun 3 2008, 2:01 pm
|
Nothing yet! Almost done. Very powerful, very strong.
|
Already diablo 1 modified the gained experience. You cannot fight against the weak monsters all the time.
Every monster below your level will give less till no experience. In Diablo 1 that difference was 10 levels. If a lvl 11 character killed a Zombie, he gained no experience. But I think 10 levels are to much. I will lower that. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Post #14
HCM™stickynote
Jun 4 2008, 2:50 am
Post #19
Ahli
Jun 9 2008, 10:23 pm
|
Nothing yet! Almost done. Very powerful, very strong.
|
magma pit != hell
you saw the magma in the "caves". The caves won't have magma in my map I've about 19k triggers atm, but some of them are just triggers which help me debugging and 13533 triggers display the enemy's hp in a mineral field (trigger duplicator made that possible). Since this is singleplayer only, I can do that Just finished debugging all triggers I already made... I hope some excellent terrainers would like to help me making some nice terrain. But first I should finish the gameplay. ;P @New-Guy Yes, but first I should finish the biggest missing parts and debugging afterwards. These would be: -improved battle AI system (0%) -some effects during the fight (0%) -timers for the sounds in the fight (0%) -level switching triggers (0%) -repairing triggers (0%) -healing triggers (90 %) -potion triggers (0 %) -experience system triggers (100%) -level up triggers (100%) -item switching triggers in the inventory (95%) -stats output system (~80%) -monster drop system (~50%) And at least I found a fast and easy way to replace all the variables I used with the original unit names. Now I'm able to test the map after waiting This post was edited 2 times, last edit by Ahli: Jul 21 2008, 12:11 pm. ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Post #20
HCM™stickynote
Jun 10 2008, 12:43 am
|
For the magma, if you decide to do so, you could create and kill ultralisks. And, I would love to create the terrain for your map if you want me to. I just need a good picture or a thorough description, since I have not played Diablo before, and therefore would not know what the terrain should look like.
![]() ![]() ![]() ![]() ![]() ![]() |
0 members in this topic (italic members are currently writing a reply): None
+ guest(s)
+ guest(s)
[11:15 pm]
[11:15 pm]











![[close]](/images/up.gif)