-
Notifications
You must be signed in to change notification settings - Fork 1
/
Readme.txt
462 lines (364 loc) · 15.2 KB
/
Readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
WICHTIG: Ich habe die X/Y Koordinaten in allen Objekten von int auf double umgestellt, um geregeltere bewegung zu ermöglichen!
Changelog:
14.07.13 - van Meegen
/src
- Eisschwert und Wizard hinzugefuegt (der Wizard uebergibt das Eissschwert)
- Json Parser angepasst
- Der Storyteller bekommt nun eine Variable übergeben, die angibt welche Story er erzählen soll (derzeit 1-7)
/dialogs
- Story 1 - 7 erstellt
/img
- Eisschwertmodel hinzugefuegt
/lvl
- Die Level 1-4 ueberarbeitet, damit die Storyteller die richtigen Dialoge wiedergeben
13.07.13 - ajurk
- WallObject nun SimpleStaticbject
- WallSecret erbt nun von DungeonObject
- SimpleStaticObject in Editor eingefuegt
- Funktionierendes Netzwerk
- Altes Level geloescht
- Alten Leveleditor geloescht
- Alte Bilder geloescht
07.07.13 - van Meegen
/src
- JavadocTags fuer alle Klassen, Methoden und Attribute erstellt. ;...;"
/doc
- Javadoc bis zum aktuellen Stand erstellt.
06.07.13 - jdnklau
DungenObject
- besitzt nun eine Variable element, die dem Objekt ein Element zuordnet
LivingObject
- besitzt nun ein Array int resistances[][], das Widerstaende gegen ein bestimmtes Element enthaelt (Elementnummer ist der erste index)
Die zweite Dimension besitzt zwei Eintraege: 0 - der Nummerische Widerstand; 1 - Status der Immunitaet gegen das entsprechende Element
- getHit wurde angepasst, so dass es nun die Widerstaende und Typenvorteile beruecksichtigt
Fireball/Lavapatch/Torch
- besitzen nun element=1 (Feuer, wer haette DAS gedacht?)
FireElemental
- element=1
- immun gegen Feuerschaden
Hat
- nun als abstrakte Klasse definiert, von der man neuen Hüte ableiten kann
30.06.13 - van Meegen
/img:
- Bilder fuer die Schalter, den Lavahut und das Lavafeld eingefuegt
/src:
Lavapatch:
- Lavafeldklasse hinzugefuegt. Das Lavafeld fuegt dem Spieler viel Schaden zu, solange dieser keinen Hut traegt!
Fireelemental:
- Kommentare hinzugefuegt
Lavahat:
- Lavahatklasse hinzugefuegt. Der Hut wird benoetigt um die Lavafelder zu ueberqueren!
Data_Textures:
- neue Bilder eingebunden
Player:
- Funktionen zum Hut aufsammeln und uebergeben hinzugefuegt. Der hut wird nun auch gezeichnet.
Level:
- Neue Objekte in die Levelschleife eingebunden
Switch:
- Bilder hinzugefuegt
29.06.13 - van Meegen
Das alte Testlevel gesichert (Testlvl_backup.txt) und dann ein neues erstellt um die neuen Objekte zu testen. Es gibt nun ein Fackelraetsel im ersten raum + ein neuer Gegner im 2. Raum! Die "Schalter"-Bilder sind derzeit noch Potions(Platzhalter)
29.06.13 - jdnklau
DungeonObject
- diverse Methoden fuer eine Triggermechanik eingefuegt
22.06.13 - jdnklau
Weapon
- es werden nun mehr Attribute des Spielers durch die Waffen erhoehbar sein. Zum Abruf steht dann die Methode getStats zur verfuegung,
die die Werte als int[7] wiedergibt
Player
- profitiert nun von allen Attributverbesserungen, die eine Waffe ihm geben kann
17.06.13 - van Meegen
Alle Bosse haben nun eigene Grafiken und der 3. Boss hat nun auch eine Mechanik. Der Spieler hat nun in allen Leveln 1 Def und die Bosse haben 2 Atk. Diverse andere fixes.
/img:
- Boss2 und 3 Grafiken geaddet (Normal und OpenGl)
/src:
- Bosse überarbeitet und Data_Img / Textures angepasst
- Boss3 macht nun auch wirklich was! :3
16.06.13 - jdnklau
MovingObject
- besitzt nun eine Methode setDirectionByAngle
LivingObject
- fixes fuer das Schießen
Creature_Bow
- schießt nun auf die Mitte des Spielers statt auf seinen Kopf zu zielen (no headshots plx, there is no hitbox!)
16.06.13 - van Meegen
Bosskampf2:
Ich hatte mir fuer den Boss folgendes überlegt: Der Boss ist auf der anderen Seite einer Fallenreihe und man muss diesen mit Fernkampf besiegen (weil Fernkampfboss). Das Ziel spawnt dann auf der Seite des Spielers sobald der Boss tot ist. Das Level habe ich mitgepusht, es reicht das ins Testlvl umzubenennen damit es geladen wird (ich wollte euer Testlevel nicht überschreiben).
/img:
- Lootarrow und Creature_bow hinzugefuegt
/src:
ArrowObject
- vom Spieler aufsammelbare Pfeile die den Pfeilvorrat erhoehen (:O)
Boss1
- Der Boss bekommt seine MoveArea nun auch ueber den Konstruktor und nicht fest
Boss2
- Den Boss fuer das 2. Level erstellt (Range Boss) - Der Kampf ist oben erklärt. Das Bild ist ein Platzhalter.
Boss3
- Platzhalterklasse fuer den 3. Boss bis uns was einfaellt!
Data_Img
- neue Bilder eingebunden
Level
- die neuen Objekte werden geneniert (Bosse, Lootarrow etc)
- Der Boss2 kann nun auch schiessen!
16.06-13 - jdnklau
Level
- Raumfix fuer die CheckPoints, so dass man nicht im gleichen Raum abgelegt wird, in dem man gestorben ist, sondern in dem, in dem der Checkpoint lag
LivingObject
- allgemeinere shoot-Methode hinzugefuegt
DungeonObject
- x/y-Koordinaten sind nun double
15.06.13 - van Meegen
/img:
- neuer youlose screen
- neuer gameover screen (wenn man kein extraleben mehr hat)
/src:
Level:
- Die Extraleben des Spielers werden nun beruecksichtigt. Stirbt man mit 0 extraleben kann man nur noch ins Hauptmenue zurueckkehren. Ansonsten kann nach dem Tod weiterhin neu begonnen werden.
Data_Img:
- Neue Bildpfade erstellt
15.06.13 - jdnklau
DungeonObject
- die Methoden "reset" und "setResetValues" (fuer sich sprechende Namen) wurden implementiert
- resetValues ist nun ein int[] attribut, dass die nummerischen Werte zum zuruecksetzen eines Objektes beinhaltet
die bei einem Reset angenommen werden sollen
Sprich dadrin befinden sich die zum zeitpunkt der Spieler/CheckPoint-Kollision aktuellen Werte des Objekts
Vergleiche die Methode in DungeonObject und LivingObject um die Erweiterbarkeit zu erkennen
Level
- bei einem reload() werden nun die reset()-Methoden der Objekte abgerufen pro Liste pro Raum
15.06.13 - van Meegen
Boss1:
- geruest fuer eine Bossklasse erstellt
/lvl:
- level 2 Teleporter gefixt
- level 3 erstellt
*NOTE*: In Level 2 und 3 sind einige Geldsaecke Platzhalter fuer Bogenkreaturen, die noch nicht ueber den JsonParser erstellt werden koennen
Bugfixes:
- diverse Bugfixes
15.06.13 - jdnklau
Player:
- besitzt nun die Methode spellCast die seinen aktuellen Zauber wirkt
SpellObject
- neue Klasse fuer Zauber
Fireball
- neues verschiessbares Projektil
12.06.13 - van Meegen UPDATE:
Hab im Level den Jsonparseraufruf wieder auf true gesetzt. Ist im letzten push nur auf false gewesen da ich die Objekte im testlvl teste. :3
/src:
Storyteller
- Storytellerklasse erstellt fuer Npcs die was zu sagen haben!
Level
- Storyteller mit in die Tastaturabfrage eingebunden
Data_String
- Der String fuer den Storyteller wird aus der Example.txt ausgelesen
Data_Img
- Bild fuer den Storyteller mit eingebunden
/dialogs
- Ordner wieder hinzugefuegt fuer Npc und generelle Spieldialoge
10.06.13 - van Meegen
/img:
- bks.png entfernt (Wird nicht mehr gebraucht)
/src:
DungeonObject
- Methode ergaenzt, die wiedergibt ob ein Objekt massiv ist oder begehbar
Projectile
- Pfeile fliegen nun ueber Fallen, verschwinden aber wenn sie auf nicht begehbare Objekte treffen
Player
- Der Spieler toetet sich nicht mehr selber wenn er nach links schiesst
SimpleBow
- min- maxdmg angepasst (Man macht nun immer 2 Dmg mit einem Pfeil)
Level
- Da wir nun kleinere Raeume haben kann man die Treffeabfrage fuer Projektile verwenden ohne dass es zu großen Slow Downs kommen sollte
09.06.13 - jdnklau
TestLevel:
- JSON-Parser gefixed: nun werden alle Räume geladen und nicht nur einer -> Kein IndexOutOfBounds wenn man nen Teleporter tangiert
09.06.13 - van Meegen
/src:
Testlevel:
- Der Aufruf der Level über den Jsonparser wird duch private boolean jsonParser = true; getogglet (false = altes Parsersystem). Per Default erstmal auf false gesetzt, bis alle Bugs beseitigt sind.
SimpleBow:
- Klasse fuer den Bogen hinzugefuegt und Offsets eingerichtet
SimpleShield:
- Klasse fuer das Schild hinzugefuegt und Offsets eingerichtet
GameInterface:
- Hp fix fuer den Jsonparser
Data_Img:
- Pfad fuer ein weiteres Bogenbild
Player:
- Waffenaufruf geaendert (aber so nicht odeR?)
/img:
- Bogen "back.png" erstellt
<<<<<<< HEAD
09.06.13 - Sami Salem
Neuer Leveleditor im package leveleditor2
Features:
- schreibt/liest das Level mit Unterräume im json-Format in/aus eine Datei.
- Räume können hinzugefügt bzw. entfernt werden.
- Größe von Räume kann immer geändert werden.
- Objekte(Wall,Player,Creature) kann man jetzt Parameter zuweisen
zum kompilieren müssen die jackson*.jar Dateien zum Buildpath hinzugefügt werden!
in TestLevel.java kann man durch die Variable jsonParser = true/false festlegen wie geparst wird
=======
09.06.13 - jdnklau
Player
- shoot-Methode die dann auch Pfeile verschiesst
- aus Testzwecken nun drei Schwerter, 2 fuer den Nah- eins fuer den Fernkampf zum Pfeile schiessen
- nun auch ein Attribut dass die Anzahl der Pfeile speichert
- getArrowsRemaining() liefert die Anzahl der verbleibenden Pfeile
GameEventListener
- besitzt nun eine shootProjectile-Methode
LivingObject
- erbt nun von MovingObject
*neu* MovingObject
- *neu*
*neu* Projectile
- Klasse fuer Projektile
- braucht x, y, Flugwinkel, Schaden
>>>>>>> 52fec305f01390364bd2516d6b1f23ada0bdff6e
08.06.13 - van Meegen - Update
Die Npcs haben nun eine zweite größere Hitbox fuer die Interaktionen und eine kleine "wirkliche" Hitbox die ihrem Image entspricht.
/src:
Npc:
- Neues Offsetarray mit Getborder()-funktion fuer die Interaktionshitbox
Shopkeeper:
- Bekommt die Hitbox per superfunktion von livingobject abgeleitet um eine kleinere Hitbox als die aus dem Npc zu generieren
08.06.13 - van Meegen
2 Neue Klassen hinzugefuegt. Npc und Shopkeeper, der sich aus Npc ableitet. Die Klassen sind derzeit noch leer, werden aber demnaechst befuellt)
=> Hitbox und Interaktionshitbox
=> diverse Funktionen die der Shopkeeper und weitere Npc's brauchen
=> ????????
=> Profit
/src:
Npc:
- Konstruktor hinzugefuegt
- Vorlaeufige Hitbox
- Klasse ist bisher noch leer wird aber demnaechst voller
Shopkeeper:
- Konstruktor (ja ich weiss, maechtig!)
- Vorlaeufiges Bild
07.06.13 - jdnklau
TestLevel:
- fuegt sich selbst nun jedem DungeonObject als Listener hinzu
- implementiert nun GameEventListener
DungeonObject
- besitzt nun eine ArrayList aller Listener fuer eventuelle GameEvents
Creature
- laesst nun einen Schatz liegen bei Tot
Player
- besitzt nun keine Methoden und Attribute mehr um aus dem Spieler herauszulesen ob das Level beendet wurde
GoalObject
- beendet das Level nun ueber ein GameEvent
GameEventListener
- tolles neues Interface ueber das GameEvents geregelt werden
- Die GameEvents selbst werden in den DungeonObject Objekten gefeuert und vom Level gehoert
05.06.13 - jdnklau
Weapon:
- einen Pixel beim Offset fuer den Angriff nach Links nach unten verschoben
TestLevel:
- freeze-State
05.06.13 - van Meegen
/src:
Player:
- Offsets fuer die Haende (nach oben, links und rechts) ausgerechnet und hinzugefuegt
Weapon:
- Offsets fuers Schwert (nach oben, links und rechts) ausgerechnet und hinzugefuegt
- je nachdem in Welche Richtung man schlaegt wird nun auch das richtige Bild dazu angezeigt
05.06.13 - jdnklau
State
- besitzt nun Attribute und Methoden fuer richtungsspezifische Grafiken!
- defineOffset, changeImg erwarten nun zusaetzlich einen int-Parameter dafuer, fuer welche
Richtung die Aenderung vorgenommen werden soll
- Ein zweiter Konstruktor wurde hinzugefuegt, der 4 statt einem Bild erwartet fuer die entsprechenden Richtungen
- die Richtungen sind 0:vorne, 1:links, 2:rechts, 3:hinten
LivingObject
- aendert nun in move die Richtung aller States auf die neuste Richtung
03.06.13 - van Meegen
/src:
Testlevel:
- alte Bodenfarbe wieder hergestellt und Grasobjektgenerierung auskommentiert (Performanceprobleme)
02.06.13 - van Meegen
/src:
Data:
- Bildpfade fuer Schwert, Schild und Bogen erstellt
/img:
- Angriffsrichtungen fuer das Schwert erstellt
- Schild Front- und Rueckseite
- Bogen + Angriffsrichtungen
- HUD Icons fuer Schwert und Bogen
02.06.13 - van Meegen
/src:
Testlevel:
- Diesmal WIRKLICH Manapotion und Schatz ins Level eingefuegt (das hat letztes mal irgendwie nicht geklappt x.x)
- Spieler ist nach clearen des Levels wieder unbeweglich
01.06.13 - jdnklau
LivingObject
- getHit und getHealed erwarten nun Schadens bzw. Heilwerte
- getHit beachtet nun die DEF des Objekts
- es gibt nun eine methode "public void dealDamage", die als Parameter das zu schaedigende LivingObject erwartet
TrapObject
- besitzt nun ein Attribut trapDmg, das (wie koennte es anders sein?) den von der Falle verursachten Schaden repraesentiert
Player
- Schadensberechnungen von Markus' Push wieder herausgenommen. Sie sind jetzt schlanker im LivingObject implementiert
- Methode swapWeapons um zwischen den Waffensets wechseln zu koennen
01.06.13 - van Meegen
/img:
- Manapotionbild hinzugefuegt
- vorlaeufiges Schatzbild hinzugefuegt
/src:
- Klasse Ressources geloescht (wurde von Data ersetzt aber war immer noch im Git)
Player:
- Uebergabe der Waffenschadenswerte an den Spieler
- Berechnung von kritischem und nicht kritischem Treffer anhand der Stärke des Spielers (atk) und dem min. bzw max. Waffenschaden
Problem: Derzeit waere es nur moeglich die Werte dann ans LivingObject zu uebergeben, wenn diese static sind, was entgegen dem Sinn der Rechnung steht.
Die Berechnung an sich funktioniert aber der Schaden ist immer noch einfach 1 solange wir die Uebergabe nicht realisiert haben.
- Goldattribut hinzugefuegt und eine Platzhalterfunktion die den Goldstand erhoeht
Weapon:
- Funktionen ergaenzt um den Min- bzw Maxschaden der Waffen zu uebergeben
LivingObject:
- fillmana() als Funktion fuer die Manatränke hinzugefuegt
MPotionObject:
- Klasse fuer Manatraenke erstellt
TreasureObject:
- Klasse fuer Schatze erstellt.
Data:
- Bilder fuer Schatz und Manatrank eingebunden
/lvl:
- Testlvl leicht angepasst. Test der beiden neuen Objekte.
31.05.13 - jdnklau
LivingObject
- kurz unverwundbar nach Treffer
Player
- besitzt nun ein Attribut Weapon[] weapons mit 3 Einträgen (Haupthand, Nebenhand, Bogen)
- Attribut attacking hinzugefuegt, falls der Spieler gerade im Angriff steckt
- Methode draw auf Waffen hingehend erweitert
- Methode attack() hinzugefuegt
- Attribut zur "Adressierung" der Haende
Ressources
- heißt jetzt Data
- Die HashMap "lib" hab ich wieder heraus genommen. Alex' erste Implementierung hat bereits das
gewuenschte Ergebnis erreicht; ein Denkfehler meinerseits dass ich sie als implementierungsnoetig
empfand
Weapon
- neu hinzugefügte Klasse
- so gut es geht kommentiert, schaut sie euch an!
Level
- Der KeyListener leitet nun Angriffsbefehle an den Spieler weiter
20.05.13 - MvMeegen
/img:
- Hintergrund entworfen
/src:
Level:
- Hintergrundmalfunktion eingefuegt. Hintergrund fuer das Scrollinglvl muss noch implementiert werden
Ressources:
- Pfade fuer das Bild erstellt und eingebunden
MvMeegen - 18.05.13
/img:
- Neues Bild fuer die Potion
- "gameover" und "youwin" ueberarbeitet um die Moeglichkeit ins Hauptmenu zurueck zu kehren zu reflektieren
/lvl:
- kleiner Wand fix (2 neue Raeume kommen demnaechst!)
/src:
Level.java und Testlevel.java:
- Reloadfunktion ueberarbeitet. Auch in den getrennten Raeumen werden nun alle statischen Objekte korrekt neu geladen
- Keypressedevent ueberarbeitet. (schlankerer Aufruf des Hauptmenues/Neustarts)
Global:
- Sämtliche Kommentare sind nun in einer Sprache (Denglisch!). Code ein wenig aufgeräumt.