diff --git a/FuturePlans.md b/FuturePlans.md index 0bbdd13e9..3b8702f88 100644 --- a/FuturePlans.md +++ b/FuturePlans.md @@ -28,6 +28,7 @@ This is just a bit of *"future planning"* for stuff that I ***might*** add after - Untouchable *(Finish a map without taking damage)* - Under Pressure *(Break a crusher)* - The Longest Journey *(Walk a total of 1000km)* + - [Doom] Taking out the Trash *(Kill all Nazis in the Doom 2 secret maps)* * ***(Maybe)* Fake livestream chat overlay, with dynamic reactions to all sorts of stuff** * **Replace all hitscan with *"light projectiles"*** * **Leaning and a lot of other stuff involving ViewAngles and ViewPos** diff --git a/credits.txt b/credits.txt index f91f8fb65..40dedeab2 100644 --- a/credits.txt +++ b/credits.txt @@ -16,6 +16,7 @@ Most of the work here is original, but there are some notable exceptions: * Dark Souls * Dark Souls 2 * Dark Souls 3 + - Some sprites and sounds are taken from (shareware) Wolfenstein 3D. - This mod uses Gutamatics, by Gutawer. Big thanks. - Title theme, "Traumatic State", by Teque (which a lot of people just know as "the AS-Golgotha music"). - Intermission theme, "Dragony", also by Teque (very comfy music considering the rest of his repertoire). diff --git a/filter/game-heretic/graphics/Achievements/AchievementFriend.png b/filter/game-heretic/graphics/Achievements/AchievementFriend.png new file mode 100644 index 000000000..69af7f18e Binary files /dev/null and b/filter/game-heretic/graphics/Achievements/AchievementFriend.png differ diff --git a/filter/game-hexen/graphics/Achievements/AchievementFriend.png b/filter/game-hexen/graphics/Achievements/AchievementFriend.png new file mode 100644 index 000000000..77b0c5148 Binary files /dev/null and b/filter/game-hexen/graphics/Achievements/AchievementFriend.png differ diff --git a/graphics/Achievements/AchievementFriend.png b/graphics/Achievements/AchievementFriend.png new file mode 100644 index 000000000..c8858c648 Binary files /dev/null and b/graphics/Achievements/AchievementFriend.png differ diff --git a/graphics/Achievements/AchievementGib.png b/graphics/Achievements/AchievementGib.png new file mode 100644 index 000000000..dd09440d1 Binary files /dev/null and b/graphics/Achievements/AchievementGib.png differ diff --git a/graphics/Achievements/todo.txt b/graphics/Achievements/todo.txt index a1c2645db..97077f95c 100644 --- a/graphics/Achievements/todo.txt +++ b/graphics/Achievements/todo.txt @@ -11,8 +11,6 @@ conga (hit X enemies at the same time with one silver bullet) dosh (have a shitload of money) ezkill (kill X enemies with Ynykron) flight (send enemy flying X thousand units away) -friend (befriend cacos) -gib (gib a lot of enemies) jump (walljump a lot) lead (eviscerator shell hit from X units away) ligma (kill endgame boss with ynykron) diff --git a/language.def_base b/language.def_base index afefafd55..8213c7326 100644 --- a/language.def_base +++ b/language.def_base @@ -393,6 +393,14 @@ FN_KEEN_FUN = "Ruined by Bethesda"; FN_VOODOO = "Voodoo doll of %s"; FN_PIG = "Pig"; FN_PIG_FUN = "Porker"; +FN_WOLFGUARD = "Guard"; +FN_WOLFGUARD_FUNN = "3"; +FN_WOLFGUARD_FUN1 = "Budget Nazi"; +FN_WOLFGUARD_FUN2 = "Pew Pew Boy"; +FN_WOLFGUARD_FUN3 = "Brown Pants"; +FN_WOLFSS = "Schutzstaffel"; +FN_WOLFHANS = "Hans Grosse"; +FN_WOLFHANS_FUN = "Thicc Hans"; // eviternity tags FN_ANGEL = "Archangelus"; FN_ANGEL_FUN = "Motherfucking Angel"; @@ -558,6 +566,8 @@ OB_CBOSS = "%o was ghosted by the holy boi's Ghostpenis."; OB_HERESIARCH = "%o saw that coming."; OB_PIG = "%o angered the hams."; // for when gzdoom fixes this (come on, graf) DEFOB_PIG = "$$OB_PIG"; // gzdoom will look this up since it has no obituary assigned +OB_WOLFGUARD = "%o got pelted by some weakling."; +OB_WOLFHANS = "%o couldn't withstand such sheer girthitude."; // eviternity obituaries OB_FCAPTAIN = "%o was zapped by an angry green lad."; OB_ANNIHIL = "%o was terminated by a cybergoat."; @@ -884,6 +894,8 @@ SWWM_ACHIEVEMENT_EZKILL_TXT = "Kill %d enemies with a single Ynykron Artifact sh SWWM_ACHIEVEMENT_FLIGHT_TAG = "Blasting Off Again"; SWWM_ACHIEVEMENT_FLIGHT_TXT = "Send an enemy flying over %d map units away"; SWWM_ACHIEVEMENT_FRIEND_TAG = "Shaped like a Friend"; +$ifgame(heretic) SWWM_ACHIEVEMENT_FRIEND_TAG = "Друг"; +$ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TAG = "Double Dog"; SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Cacodemons with headpats"; $ifgame(heretic) SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Weredragons with headpats"; $ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Ettins with headpats"; diff --git a/language.es_base b/language.es_base index 5ab819dd6..5352d5b76 100644 --- a/language.es_base +++ b/language.es_base @@ -488,6 +488,8 @@ OB_MBOSS = "%o fue reventado por la varita explosiva esa del tío mágico."; OB_CBOSS = "%o fue fantasmado por la verga fantasma del tío santurrón."; OB_HERESIARCH = "%o lo vio venir."; OB_PIG = "%o enfureció a los jamones."; // for when gzdoom fixes this (come on, graf) +OB_WOLFGUARD = "%o fué balead@[ao_esp] por algún cobarde."; +OB_WOLFHANS = "%o no pudo soportar semejante grosor."; // eviternity obituaries OB_FCAPTAIN = "%o fue chispad@[ao_esp] por un tío verde cabreado."; OB_ANNIHIL = "%o fue exterminad@[ao_esp] por una cibercabra."; @@ -784,6 +786,7 @@ SWWM_ACHIEVEMENT_EZKILL_TXT = "Mata %d enemigos con un solo disparo de Artefacto SWWM_ACHIEVEMENT_FLIGHT_TAG = "Despega de Nuevo"; SWWM_ACHIEVEMENT_FLIGHT_TXT = "Lanza a un enemigo en volandas más allá de %d unidades de mapa"; SWWM_ACHIEVEMENT_FRIEND_TAG = "Con Forma de Amigo"; +$ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TAG = "Perrito Doble"; SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Cacodemonios a base de caricias"; $ifgame(heretic) SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Hombres-Dragón a base de caricias"; $ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Ettins a base de caricias"; diff --git a/language.version b/language.version index d8522c02c..801fb14be 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r435 \cu(Thu 8 Apr 15:57:28 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r435 \cu(2021-04-08 15:57:28)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r435 \cu(Fri 9 Apr 20:57:49 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r435 \cu(2021-04-09 20:57:49)\c-"; diff --git a/sndinfo.txt b/sndinfo.txt index cb1070b1f..353aa8721 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -1119,3 +1119,27 @@ misc/boinkend sounds/BOINK1.ogg misc/boink1 sounds/BOINK2.ogg misc/boink2 sounds/BOINK3.ogg $random misc/boink { misc/boink1 misc/boink2 } + +// wolf3d thingies +wolf3d/dogbite sounds/wolfstuff/wolf3d_dogbite.ogg +wolf3d/dogdie sounds/wolfstuff/wolf3d_dogdie.ogg +wolf3d/dogsight sounds/wolfstuff/wolf3d_dogsight.ogg +wolf3d/doorclose sounds/wolfstuff/wolf3d_doorclose.ogg +wolf3d/dooropen sounds/wolfstuff/wolf3d_dooropen.ogg +wolf3d/guarddie1 sounds/wolfstuff/wolf3d_guarddie1.ogg +wolf3d/guarddie2 sounds/wolfstuff/wolf3d_guarddie2.ogg +wolf3d/guarddie4 sounds/wolfstuff/wolf3d_guarddie4.ogg +wolf3d/guarddie5 sounds/wolfstuff/wolf3d_guarddie5.ogg +wolf3d/guarddie6 sounds/wolfstuff/wolf3d_guarddie6.ogg +wolf3d/guarddie7 sounds/wolfstuff/wolf3d_guarddie7.ogg +wolf3d/guarddie8 sounds/wolfstuff/wolf3d_guarddie8.ogg +$random wolf3d/guarddie { wolf3d/guarddie1 wolf3d/guarddie2 wolf3d/guarddie2 wolf3d/guarddie4 wolf3d/guarddie5 wolf3d/guarddie6 wolf3d/guarddie7 wolf3d/guarddie8 } +wolf3d/guardfire sounds/wolfstuff/wolf3d_guardfire.ogg +wolf3d/guardsight sounds/wolfstuff/wolf3d_guardsight.ogg +wolf3d/hansdie sounds/wolfstuff/wolf3d_hansdie.ogg +wolf3d/hansfire sounds/wolfstuff/wolf3d_hansfire.ogg +wolf3d/hanssight sounds/wolfstuff/wolf3d_hanssight.ogg +wolf3d/pushwall sounds/wolfstuff/wolf3d_pushwall.ogg +wolf3d/ssdie sounds/wolfstuff/wolf3d_ssdie.ogg +wolf3d/ssfire sounds/wolfstuff/wolf3d_ssfire.ogg +wolf3d/sssight sounds/wolfstuff/wolf3d_sssight.ogg diff --git a/sndseq.txt b/sndseq.txt new file mode 100644 index 000000000..6134fc3ae --- /dev/null +++ b/sndseq.txt @@ -0,0 +1,30 @@ +:Wolf3DDoorOpen + play wolf3d/dooropen + nostopcutoff +end + +:Wolf3DDoorClose + play wolf3d/doorclose + nostopcutoff +end + +:Wolf3DPushwall + play wolf3d/pushwall + nostopcutoff +end + +[DoorWolf3D + Door 632 + 0 Wolf3DDoorOpen + 1 Wolf3DDoorClose + 2 Wolf3DDoorOpen + 3 Wolf3DDoorClose +] + +[PushwallWolf3D + Door 633 + 0 Wolf3DPushwall + 1 Wolf3DPushwall + 2 Wolf3DPushwall + 3 Wolf3DPushwall +] diff --git a/sounds/wolfstuff/wolf3d_dogbite.ogg b/sounds/wolfstuff/wolf3d_dogbite.ogg new file mode 100644 index 000000000..088f13d6e Binary files /dev/null and b/sounds/wolfstuff/wolf3d_dogbite.ogg differ diff --git a/sounds/wolfstuff/wolf3d_dogdie.ogg b/sounds/wolfstuff/wolf3d_dogdie.ogg new file mode 100644 index 000000000..627fb98b2 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_dogdie.ogg differ diff --git a/sounds/wolfstuff/wolf3d_dogsight.ogg b/sounds/wolfstuff/wolf3d_dogsight.ogg new file mode 100644 index 000000000..fe8259766 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_dogsight.ogg differ diff --git a/sounds/wolfstuff/wolf3d_doorclose.ogg b/sounds/wolfstuff/wolf3d_doorclose.ogg new file mode 100644 index 000000000..d4b9a9db6 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_doorclose.ogg differ diff --git a/sounds/wolfstuff/wolf3d_dooropen.ogg b/sounds/wolfstuff/wolf3d_dooropen.ogg new file mode 100644 index 000000000..84c389134 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_dooropen.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie1.ogg b/sounds/wolfstuff/wolf3d_guarddie1.ogg new file mode 100644 index 000000000..2c4ed9a23 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie1.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie2.ogg b/sounds/wolfstuff/wolf3d_guarddie2.ogg new file mode 100644 index 000000000..04f603292 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie2.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie4.ogg b/sounds/wolfstuff/wolf3d_guarddie4.ogg new file mode 100644 index 000000000..cce3a98e7 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie4.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie5.ogg b/sounds/wolfstuff/wolf3d_guarddie5.ogg new file mode 100644 index 000000000..b582ac2e7 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie5.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie6.ogg b/sounds/wolfstuff/wolf3d_guarddie6.ogg new file mode 100644 index 000000000..99101407e Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie6.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie7.ogg b/sounds/wolfstuff/wolf3d_guarddie7.ogg new file mode 100644 index 000000000..a2fc82df9 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie7.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guarddie8.ogg b/sounds/wolfstuff/wolf3d_guarddie8.ogg new file mode 100644 index 000000000..39f2b70ee Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guarddie8.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guardfire.ogg b/sounds/wolfstuff/wolf3d_guardfire.ogg new file mode 100644 index 000000000..0a18b68ee Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guardfire.ogg differ diff --git a/sounds/wolfstuff/wolf3d_guardsight.ogg b/sounds/wolfstuff/wolf3d_guardsight.ogg new file mode 100644 index 000000000..4ce5b99d5 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_guardsight.ogg differ diff --git a/sounds/wolfstuff/wolf3d_hansdie.ogg b/sounds/wolfstuff/wolf3d_hansdie.ogg new file mode 100644 index 000000000..aac6a3d12 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_hansdie.ogg differ diff --git a/sounds/wolfstuff/wolf3d_hansfire.ogg b/sounds/wolfstuff/wolf3d_hansfire.ogg new file mode 100644 index 000000000..e4b61da6c Binary files /dev/null and b/sounds/wolfstuff/wolf3d_hansfire.ogg differ diff --git a/sounds/wolfstuff/wolf3d_hanssight.ogg b/sounds/wolfstuff/wolf3d_hanssight.ogg new file mode 100644 index 000000000..d220e5ef3 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_hanssight.ogg differ diff --git a/sounds/wolfstuff/wolf3d_pushwall.ogg b/sounds/wolfstuff/wolf3d_pushwall.ogg new file mode 100644 index 000000000..70b2b03ff Binary files /dev/null and b/sounds/wolfstuff/wolf3d_pushwall.ogg differ diff --git a/sounds/wolfstuff/wolf3d_ssdie.ogg b/sounds/wolfstuff/wolf3d_ssdie.ogg new file mode 100644 index 000000000..e7b93732e Binary files /dev/null and b/sounds/wolfstuff/wolf3d_ssdie.ogg differ diff --git a/sounds/wolfstuff/wolf3d_ssfire.ogg b/sounds/wolfstuff/wolf3d_ssfire.ogg new file mode 100644 index 000000000..cc22db34f Binary files /dev/null and b/sounds/wolfstuff/wolf3d_ssfire.ogg differ diff --git a/sounds/wolfstuff/wolf3d_sssight.ogg b/sounds/wolfstuff/wolf3d_sssight.ogg new file mode 100644 index 000000000..0c6b42dd8 Binary files /dev/null and b/sounds/wolfstuff/wolf3d_sssight.ogg differ diff --git a/sprites/wolfstuff/XDOGA1.png b/sprites/wolfstuff/XDOGA1.png new file mode 100644 index 000000000..693d97da7 Binary files /dev/null and b/sprites/wolfstuff/XDOGA1.png differ diff --git a/sprites/wolfstuff/XDOGA2.png b/sprites/wolfstuff/XDOGA2.png new file mode 100644 index 000000000..ef233f60a Binary files /dev/null and b/sprites/wolfstuff/XDOGA2.png differ diff --git a/sprites/wolfstuff/XDOGA3.png b/sprites/wolfstuff/XDOGA3.png new file mode 100644 index 000000000..2293e3a14 Binary files /dev/null and b/sprites/wolfstuff/XDOGA3.png differ diff --git a/sprites/wolfstuff/XDOGA4.png b/sprites/wolfstuff/XDOGA4.png new file mode 100644 index 000000000..78c44e751 Binary files /dev/null and b/sprites/wolfstuff/XDOGA4.png differ diff --git a/sprites/wolfstuff/XDOGA5.png b/sprites/wolfstuff/XDOGA5.png new file mode 100644 index 000000000..3dd032f69 Binary files /dev/null and b/sprites/wolfstuff/XDOGA5.png differ diff --git a/sprites/wolfstuff/XDOGA6.png b/sprites/wolfstuff/XDOGA6.png new file mode 100644 index 000000000..d1f9d70f9 Binary files /dev/null and b/sprites/wolfstuff/XDOGA6.png differ diff --git a/sprites/wolfstuff/XDOGA7.png b/sprites/wolfstuff/XDOGA7.png new file mode 100644 index 000000000..fd1880191 Binary files /dev/null and b/sprites/wolfstuff/XDOGA7.png differ diff --git a/sprites/wolfstuff/XDOGA8.png b/sprites/wolfstuff/XDOGA8.png new file mode 100644 index 000000000..9ac643336 Binary files /dev/null and b/sprites/wolfstuff/XDOGA8.png differ diff --git a/sprites/wolfstuff/XDOGB1.png b/sprites/wolfstuff/XDOGB1.png new file mode 100644 index 000000000..d87625a37 Binary files /dev/null and b/sprites/wolfstuff/XDOGB1.png differ diff --git a/sprites/wolfstuff/XDOGB2.png b/sprites/wolfstuff/XDOGB2.png new file mode 100644 index 000000000..18dc55a60 Binary files /dev/null and b/sprites/wolfstuff/XDOGB2.png differ diff --git a/sprites/wolfstuff/XDOGB3.png b/sprites/wolfstuff/XDOGB3.png new file mode 100644 index 000000000..f19537ca9 Binary files /dev/null and b/sprites/wolfstuff/XDOGB3.png differ diff --git a/sprites/wolfstuff/XDOGB4.png b/sprites/wolfstuff/XDOGB4.png new file mode 100644 index 000000000..97b9ec516 Binary files /dev/null and b/sprites/wolfstuff/XDOGB4.png differ diff --git a/sprites/wolfstuff/XDOGB5.png b/sprites/wolfstuff/XDOGB5.png new file mode 100644 index 000000000..85c061e70 Binary files /dev/null and b/sprites/wolfstuff/XDOGB5.png differ diff --git a/sprites/wolfstuff/XDOGB6.png b/sprites/wolfstuff/XDOGB6.png new file mode 100644 index 000000000..d0e7a6d98 Binary files /dev/null and b/sprites/wolfstuff/XDOGB6.png differ diff --git a/sprites/wolfstuff/XDOGB7.png b/sprites/wolfstuff/XDOGB7.png new file mode 100644 index 000000000..958b81077 Binary files /dev/null and b/sprites/wolfstuff/XDOGB7.png differ diff --git a/sprites/wolfstuff/XDOGB8.png b/sprites/wolfstuff/XDOGB8.png new file mode 100644 index 000000000..1f0762c91 Binary files /dev/null and b/sprites/wolfstuff/XDOGB8.png differ diff --git a/sprites/wolfstuff/XDOGC1.png b/sprites/wolfstuff/XDOGC1.png new file mode 100644 index 000000000..95d1de3fc Binary files /dev/null and b/sprites/wolfstuff/XDOGC1.png differ diff --git a/sprites/wolfstuff/XDOGC2.png b/sprites/wolfstuff/XDOGC2.png new file mode 100644 index 000000000..6223fcddb Binary files /dev/null and b/sprites/wolfstuff/XDOGC2.png differ diff --git a/sprites/wolfstuff/XDOGC3.png b/sprites/wolfstuff/XDOGC3.png new file mode 100644 index 000000000..7bdd290ce Binary files /dev/null and b/sprites/wolfstuff/XDOGC3.png differ diff --git a/sprites/wolfstuff/XDOGC4.png b/sprites/wolfstuff/XDOGC4.png new file mode 100644 index 000000000..3ce600edc Binary files /dev/null and b/sprites/wolfstuff/XDOGC4.png differ diff --git a/sprites/wolfstuff/XDOGC5.png b/sprites/wolfstuff/XDOGC5.png new file mode 100644 index 000000000..88d78fb19 Binary files /dev/null and b/sprites/wolfstuff/XDOGC5.png differ diff --git a/sprites/wolfstuff/XDOGC6.png b/sprites/wolfstuff/XDOGC6.png new file mode 100644 index 000000000..3c72a7d94 Binary files /dev/null and b/sprites/wolfstuff/XDOGC6.png differ diff --git a/sprites/wolfstuff/XDOGC7.png b/sprites/wolfstuff/XDOGC7.png new file mode 100644 index 000000000..d6464a08d Binary files /dev/null and b/sprites/wolfstuff/XDOGC7.png differ diff --git a/sprites/wolfstuff/XDOGC8.png b/sprites/wolfstuff/XDOGC8.png new file mode 100644 index 000000000..f181147ff Binary files /dev/null and b/sprites/wolfstuff/XDOGC8.png differ diff --git a/sprites/wolfstuff/XDOGD1.png b/sprites/wolfstuff/XDOGD1.png new file mode 100644 index 000000000..f5a82bab4 Binary files /dev/null and b/sprites/wolfstuff/XDOGD1.png differ diff --git a/sprites/wolfstuff/XDOGD2.png b/sprites/wolfstuff/XDOGD2.png new file mode 100644 index 000000000..b13b4edeb Binary files /dev/null and b/sprites/wolfstuff/XDOGD2.png differ diff --git a/sprites/wolfstuff/XDOGD3.png b/sprites/wolfstuff/XDOGD3.png new file mode 100644 index 000000000..4f0935019 Binary files /dev/null and b/sprites/wolfstuff/XDOGD3.png differ diff --git a/sprites/wolfstuff/XDOGD4.png b/sprites/wolfstuff/XDOGD4.png new file mode 100644 index 000000000..9c6ad3937 Binary files /dev/null and b/sprites/wolfstuff/XDOGD4.png differ diff --git a/sprites/wolfstuff/XDOGD5.png b/sprites/wolfstuff/XDOGD5.png new file mode 100644 index 000000000..c74324ea0 Binary files /dev/null and b/sprites/wolfstuff/XDOGD5.png differ diff --git a/sprites/wolfstuff/XDOGD6.png b/sprites/wolfstuff/XDOGD6.png new file mode 100644 index 000000000..d60f73f0e Binary files /dev/null and b/sprites/wolfstuff/XDOGD6.png differ diff --git a/sprites/wolfstuff/XDOGD7.png b/sprites/wolfstuff/XDOGD7.png new file mode 100644 index 000000000..575c5fc6a Binary files /dev/null and b/sprites/wolfstuff/XDOGD7.png differ diff --git a/sprites/wolfstuff/XDOGD8.png b/sprites/wolfstuff/XDOGD8.png new file mode 100644 index 000000000..82f7f8974 Binary files /dev/null and b/sprites/wolfstuff/XDOGD8.png differ diff --git a/sprites/wolfstuff/XDOGE0.png b/sprites/wolfstuff/XDOGE0.png new file mode 100644 index 000000000..f95dc840f Binary files /dev/null and b/sprites/wolfstuff/XDOGE0.png differ diff --git a/sprites/wolfstuff/XDOGF0.png b/sprites/wolfstuff/XDOGF0.png new file mode 100644 index 000000000..82e0672c4 Binary files /dev/null and b/sprites/wolfstuff/XDOGF0.png differ diff --git a/sprites/wolfstuff/XDOGG0.png b/sprites/wolfstuff/XDOGG0.png new file mode 100644 index 000000000..c6b3cab62 Binary files /dev/null and b/sprites/wolfstuff/XDOGG0.png differ diff --git a/sprites/wolfstuff/XDOGH0.png b/sprites/wolfstuff/XDOGH0.png new file mode 100644 index 000000000..f5f3e2470 Binary files /dev/null and b/sprites/wolfstuff/XDOGH0.png differ diff --git a/sprites/wolfstuff/XDOGI0.png b/sprites/wolfstuff/XDOGI0.png new file mode 100644 index 000000000..df2a6a8c6 Binary files /dev/null and b/sprites/wolfstuff/XDOGI0.png differ diff --git a/sprites/wolfstuff/XDOGJ0.png b/sprites/wolfstuff/XDOGJ0.png new file mode 100644 index 000000000..1d2265967 Binary files /dev/null and b/sprites/wolfstuff/XDOGJ0.png differ diff --git a/sprites/wolfstuff/XDOGK0.png b/sprites/wolfstuff/XDOGK0.png new file mode 100644 index 000000000..94efc01fe Binary files /dev/null and b/sprites/wolfstuff/XDOGK0.png differ diff --git a/sprites/wolfstuff/XGRDA1.png b/sprites/wolfstuff/XGRDA1.png new file mode 100644 index 000000000..d61e9d0c0 Binary files /dev/null and b/sprites/wolfstuff/XGRDA1.png differ diff --git a/sprites/wolfstuff/XGRDA2.png b/sprites/wolfstuff/XGRDA2.png new file mode 100644 index 000000000..f671537d7 Binary files /dev/null and b/sprites/wolfstuff/XGRDA2.png differ diff --git a/sprites/wolfstuff/XGRDA3.png b/sprites/wolfstuff/XGRDA3.png new file mode 100644 index 000000000..c21b308b9 Binary files /dev/null and b/sprites/wolfstuff/XGRDA3.png differ diff --git a/sprites/wolfstuff/XGRDA4.png b/sprites/wolfstuff/XGRDA4.png new file mode 100644 index 000000000..2a53f3cbd Binary files /dev/null and b/sprites/wolfstuff/XGRDA4.png differ diff --git a/sprites/wolfstuff/XGRDA5.png b/sprites/wolfstuff/XGRDA5.png new file mode 100644 index 000000000..9374a178c Binary files /dev/null and b/sprites/wolfstuff/XGRDA5.png differ diff --git a/sprites/wolfstuff/XGRDA6.png b/sprites/wolfstuff/XGRDA6.png new file mode 100644 index 000000000..43fb2ca69 Binary files /dev/null and b/sprites/wolfstuff/XGRDA6.png differ diff --git a/sprites/wolfstuff/XGRDA7.png b/sprites/wolfstuff/XGRDA7.png new file mode 100644 index 000000000..9246bf38c Binary files /dev/null and b/sprites/wolfstuff/XGRDA7.png differ diff --git a/sprites/wolfstuff/XGRDA8.png b/sprites/wolfstuff/XGRDA8.png new file mode 100644 index 000000000..dcb1b771b Binary files /dev/null and b/sprites/wolfstuff/XGRDA8.png differ diff --git a/sprites/wolfstuff/XGRDB1.png b/sprites/wolfstuff/XGRDB1.png new file mode 100644 index 000000000..523d03a79 Binary files /dev/null and b/sprites/wolfstuff/XGRDB1.png differ diff --git a/sprites/wolfstuff/XGRDB2.png b/sprites/wolfstuff/XGRDB2.png new file mode 100644 index 000000000..21aa14506 Binary files /dev/null and b/sprites/wolfstuff/XGRDB2.png differ diff --git a/sprites/wolfstuff/XGRDB3.png b/sprites/wolfstuff/XGRDB3.png new file mode 100644 index 000000000..7130eae51 Binary files /dev/null and b/sprites/wolfstuff/XGRDB3.png differ diff --git a/sprites/wolfstuff/XGRDB4.png b/sprites/wolfstuff/XGRDB4.png new file mode 100644 index 000000000..97a4f9179 Binary files /dev/null and b/sprites/wolfstuff/XGRDB4.png differ diff --git a/sprites/wolfstuff/XGRDB5.png b/sprites/wolfstuff/XGRDB5.png new file mode 100644 index 000000000..4ebe39d00 Binary files /dev/null and b/sprites/wolfstuff/XGRDB5.png differ diff --git a/sprites/wolfstuff/XGRDB6.png b/sprites/wolfstuff/XGRDB6.png new file mode 100644 index 000000000..38000a36e Binary files /dev/null and b/sprites/wolfstuff/XGRDB6.png differ diff --git a/sprites/wolfstuff/XGRDB7.png b/sprites/wolfstuff/XGRDB7.png new file mode 100644 index 000000000..3b475372a Binary files /dev/null and b/sprites/wolfstuff/XGRDB7.png differ diff --git a/sprites/wolfstuff/XGRDB8.png b/sprites/wolfstuff/XGRDB8.png new file mode 100644 index 000000000..fd4ce2d6e Binary files /dev/null and b/sprites/wolfstuff/XGRDB8.png differ diff --git a/sprites/wolfstuff/XGRDC1.png b/sprites/wolfstuff/XGRDC1.png new file mode 100644 index 000000000..1cd2242f0 Binary files /dev/null and b/sprites/wolfstuff/XGRDC1.png differ diff --git a/sprites/wolfstuff/XGRDC2.png b/sprites/wolfstuff/XGRDC2.png new file mode 100644 index 000000000..579bcaf64 Binary files /dev/null and b/sprites/wolfstuff/XGRDC2.png differ diff --git a/sprites/wolfstuff/XGRDC3.png b/sprites/wolfstuff/XGRDC3.png new file mode 100644 index 000000000..469a0716f Binary files /dev/null and b/sprites/wolfstuff/XGRDC3.png differ diff --git a/sprites/wolfstuff/XGRDC4.png b/sprites/wolfstuff/XGRDC4.png new file mode 100644 index 000000000..7a26959f3 Binary files /dev/null and b/sprites/wolfstuff/XGRDC4.png differ diff --git a/sprites/wolfstuff/XGRDC5.png b/sprites/wolfstuff/XGRDC5.png new file mode 100644 index 000000000..a5c78163f Binary files /dev/null and b/sprites/wolfstuff/XGRDC5.png differ diff --git a/sprites/wolfstuff/XGRDC6.png b/sprites/wolfstuff/XGRDC6.png new file mode 100644 index 000000000..d668a3d77 Binary files /dev/null and b/sprites/wolfstuff/XGRDC6.png differ diff --git a/sprites/wolfstuff/XGRDC7.png b/sprites/wolfstuff/XGRDC7.png new file mode 100644 index 000000000..e5bee90be Binary files /dev/null and b/sprites/wolfstuff/XGRDC7.png differ diff --git a/sprites/wolfstuff/XGRDC8.png b/sprites/wolfstuff/XGRDC8.png new file mode 100644 index 000000000..c8e3af00b Binary files /dev/null and b/sprites/wolfstuff/XGRDC8.png differ diff --git a/sprites/wolfstuff/XGRDD1.png b/sprites/wolfstuff/XGRDD1.png new file mode 100644 index 000000000..27c9419b3 Binary files /dev/null and b/sprites/wolfstuff/XGRDD1.png differ diff --git a/sprites/wolfstuff/XGRDD2.png b/sprites/wolfstuff/XGRDD2.png new file mode 100644 index 000000000..24bbffe06 Binary files /dev/null and b/sprites/wolfstuff/XGRDD2.png differ diff --git a/sprites/wolfstuff/XGRDD3.png b/sprites/wolfstuff/XGRDD3.png new file mode 100644 index 000000000..2ca084380 Binary files /dev/null and b/sprites/wolfstuff/XGRDD3.png differ diff --git a/sprites/wolfstuff/XGRDD4.png b/sprites/wolfstuff/XGRDD4.png new file mode 100644 index 000000000..d42bec0a4 Binary files /dev/null and b/sprites/wolfstuff/XGRDD4.png differ diff --git a/sprites/wolfstuff/XGRDD5.png b/sprites/wolfstuff/XGRDD5.png new file mode 100644 index 000000000..00981d5fe Binary files /dev/null and b/sprites/wolfstuff/XGRDD5.png differ diff --git a/sprites/wolfstuff/XGRDD6.png b/sprites/wolfstuff/XGRDD6.png new file mode 100644 index 000000000..9a52d4498 Binary files /dev/null and b/sprites/wolfstuff/XGRDD6.png differ diff --git a/sprites/wolfstuff/XGRDD7.png b/sprites/wolfstuff/XGRDD7.png new file mode 100644 index 000000000..0016df25c Binary files /dev/null and b/sprites/wolfstuff/XGRDD7.png differ diff --git a/sprites/wolfstuff/XGRDD8.png b/sprites/wolfstuff/XGRDD8.png new file mode 100644 index 000000000..4e48bc31a Binary files /dev/null and b/sprites/wolfstuff/XGRDD8.png differ diff --git a/sprites/wolfstuff/XGRDE1.png b/sprites/wolfstuff/XGRDE1.png new file mode 100644 index 000000000..d37530c95 Binary files /dev/null and b/sprites/wolfstuff/XGRDE1.png differ diff --git a/sprites/wolfstuff/XGRDE2.png b/sprites/wolfstuff/XGRDE2.png new file mode 100644 index 000000000..8661da51c Binary files /dev/null and b/sprites/wolfstuff/XGRDE2.png differ diff --git a/sprites/wolfstuff/XGRDE3.png b/sprites/wolfstuff/XGRDE3.png new file mode 100644 index 000000000..82da2731c Binary files /dev/null and b/sprites/wolfstuff/XGRDE3.png differ diff --git a/sprites/wolfstuff/XGRDE4.png b/sprites/wolfstuff/XGRDE4.png new file mode 100644 index 000000000..c521a8392 Binary files /dev/null and b/sprites/wolfstuff/XGRDE4.png differ diff --git a/sprites/wolfstuff/XGRDE5.png b/sprites/wolfstuff/XGRDE5.png new file mode 100644 index 000000000..5daf7c53f Binary files /dev/null and b/sprites/wolfstuff/XGRDE5.png differ diff --git a/sprites/wolfstuff/XGRDE6.png b/sprites/wolfstuff/XGRDE6.png new file mode 100644 index 000000000..4ec5a2e6a Binary files /dev/null and b/sprites/wolfstuff/XGRDE6.png differ diff --git a/sprites/wolfstuff/XGRDE7.png b/sprites/wolfstuff/XGRDE7.png new file mode 100644 index 000000000..1f3c1c714 Binary files /dev/null and b/sprites/wolfstuff/XGRDE7.png differ diff --git a/sprites/wolfstuff/XGRDE8.png b/sprites/wolfstuff/XGRDE8.png new file mode 100644 index 000000000..4d42aaf12 Binary files /dev/null and b/sprites/wolfstuff/XGRDE8.png differ diff --git a/sprites/wolfstuff/XGRDF0.png b/sprites/wolfstuff/XGRDF0.png new file mode 100644 index 000000000..d38d3c80a Binary files /dev/null and b/sprites/wolfstuff/XGRDF0.png differ diff --git a/sprites/wolfstuff/XGRDG0.png b/sprites/wolfstuff/XGRDG0.png new file mode 100644 index 000000000..0a1f8cf2d Binary files /dev/null and b/sprites/wolfstuff/XGRDG0.png differ diff --git a/sprites/wolfstuff/XGRDH0.png b/sprites/wolfstuff/XGRDH0.png new file mode 100644 index 000000000..8cb39b88a Binary files /dev/null and b/sprites/wolfstuff/XGRDH0.png differ diff --git a/sprites/wolfstuff/XGRDI0.png b/sprites/wolfstuff/XGRDI0.png new file mode 100644 index 000000000..4686c8605 Binary files /dev/null and b/sprites/wolfstuff/XGRDI0.png differ diff --git a/sprites/wolfstuff/XGRDJ0.png b/sprites/wolfstuff/XGRDJ0.png new file mode 100644 index 000000000..186bc701d Binary files /dev/null and b/sprites/wolfstuff/XGRDJ0.png differ diff --git a/sprites/wolfstuff/XGRDK0.png b/sprites/wolfstuff/XGRDK0.png new file mode 100644 index 000000000..b348e1467 Binary files /dev/null and b/sprites/wolfstuff/XGRDK0.png differ diff --git a/sprites/wolfstuff/XGRDL0.png b/sprites/wolfstuff/XGRDL0.png new file mode 100644 index 000000000..7bcd5666a Binary files /dev/null and b/sprites/wolfstuff/XGRDL0.png differ diff --git a/sprites/wolfstuff/XGRDM0.png b/sprites/wolfstuff/XGRDM0.png new file mode 100644 index 000000000..fa24f1006 Binary files /dev/null and b/sprites/wolfstuff/XGRDM0.png differ diff --git a/sprites/wolfstuff/XGRDN0.png b/sprites/wolfstuff/XGRDN0.png new file mode 100644 index 000000000..41c3b9ed7 Binary files /dev/null and b/sprites/wolfstuff/XGRDN0.png differ diff --git a/sprites/wolfstuff/XHNSA0.png b/sprites/wolfstuff/XHNSA0.png new file mode 100644 index 000000000..2e51a043d Binary files /dev/null and b/sprites/wolfstuff/XHNSA0.png differ diff --git a/sprites/wolfstuff/XHNSB0.png b/sprites/wolfstuff/XHNSB0.png new file mode 100644 index 000000000..fc8f4a8a9 Binary files /dev/null and b/sprites/wolfstuff/XHNSB0.png differ diff --git a/sprites/wolfstuff/XHNSC0.png b/sprites/wolfstuff/XHNSC0.png new file mode 100644 index 000000000..965efa1fe Binary files /dev/null and b/sprites/wolfstuff/XHNSC0.png differ diff --git a/sprites/wolfstuff/XHNSD0.png b/sprites/wolfstuff/XHNSD0.png new file mode 100644 index 000000000..72a350d12 Binary files /dev/null and b/sprites/wolfstuff/XHNSD0.png differ diff --git a/sprites/wolfstuff/XHNSE0.png b/sprites/wolfstuff/XHNSE0.png new file mode 100644 index 000000000..9243641b6 Binary files /dev/null and b/sprites/wolfstuff/XHNSE0.png differ diff --git a/sprites/wolfstuff/XHNSF0.png b/sprites/wolfstuff/XHNSF0.png new file mode 100644 index 000000000..157d2ddc6 Binary files /dev/null and b/sprites/wolfstuff/XHNSF0.png differ diff --git a/sprites/wolfstuff/XHNSG0.png b/sprites/wolfstuff/XHNSG0.png new file mode 100644 index 000000000..f5db7a473 Binary files /dev/null and b/sprites/wolfstuff/XHNSG0.png differ diff --git a/sprites/wolfstuff/XHNSH0.png b/sprites/wolfstuff/XHNSH0.png new file mode 100644 index 000000000..d893ca00e Binary files /dev/null and b/sprites/wolfstuff/XHNSH0.png differ diff --git a/sprites/wolfstuff/XHNSI0.png b/sprites/wolfstuff/XHNSI0.png new file mode 100644 index 000000000..abaa7cc4d Binary files /dev/null and b/sprites/wolfstuff/XHNSI0.png differ diff --git a/sprites/wolfstuff/XHNSJ0.png b/sprites/wolfstuff/XHNSJ0.png new file mode 100644 index 000000000..30ae9c982 Binary files /dev/null and b/sprites/wolfstuff/XHNSJ0.png differ diff --git a/sprites/wolfstuff/XHNSK0.png b/sprites/wolfstuff/XHNSK0.png new file mode 100644 index 000000000..496ffe9f6 Binary files /dev/null and b/sprites/wolfstuff/XHNSK0.png differ diff --git a/sprites/wolfstuff/XSSWA1.png b/sprites/wolfstuff/XSSWA1.png new file mode 100644 index 000000000..ce498cec1 Binary files /dev/null and b/sprites/wolfstuff/XSSWA1.png differ diff --git a/sprites/wolfstuff/XSSWA2.png b/sprites/wolfstuff/XSSWA2.png new file mode 100644 index 000000000..417304323 Binary files /dev/null and b/sprites/wolfstuff/XSSWA2.png differ diff --git a/sprites/wolfstuff/XSSWA3.png b/sprites/wolfstuff/XSSWA3.png new file mode 100644 index 000000000..f3b6ca574 Binary files /dev/null and b/sprites/wolfstuff/XSSWA3.png differ diff --git a/sprites/wolfstuff/XSSWA4.png b/sprites/wolfstuff/XSSWA4.png new file mode 100644 index 000000000..e5577e6eb Binary files /dev/null and b/sprites/wolfstuff/XSSWA4.png differ diff --git a/sprites/wolfstuff/XSSWA5.png b/sprites/wolfstuff/XSSWA5.png new file mode 100644 index 000000000..fb5fc982b Binary files /dev/null and b/sprites/wolfstuff/XSSWA5.png differ diff --git a/sprites/wolfstuff/XSSWA6.png b/sprites/wolfstuff/XSSWA6.png new file mode 100644 index 000000000..13448938e Binary files /dev/null and b/sprites/wolfstuff/XSSWA6.png differ diff --git a/sprites/wolfstuff/XSSWA7.png b/sprites/wolfstuff/XSSWA7.png new file mode 100644 index 000000000..953276bd9 Binary files /dev/null and b/sprites/wolfstuff/XSSWA7.png differ diff --git a/sprites/wolfstuff/XSSWA8.png b/sprites/wolfstuff/XSSWA8.png new file mode 100644 index 000000000..904e012f8 Binary files /dev/null and b/sprites/wolfstuff/XSSWA8.png differ diff --git a/sprites/wolfstuff/XSSWB1.png b/sprites/wolfstuff/XSSWB1.png new file mode 100644 index 000000000..2aaf240de Binary files /dev/null and b/sprites/wolfstuff/XSSWB1.png differ diff --git a/sprites/wolfstuff/XSSWB2.png b/sprites/wolfstuff/XSSWB2.png new file mode 100644 index 000000000..f9dcb6618 Binary files /dev/null and b/sprites/wolfstuff/XSSWB2.png differ diff --git a/sprites/wolfstuff/XSSWB3.png b/sprites/wolfstuff/XSSWB3.png new file mode 100644 index 000000000..cbf03db55 Binary files /dev/null and b/sprites/wolfstuff/XSSWB3.png differ diff --git a/sprites/wolfstuff/XSSWB4.png b/sprites/wolfstuff/XSSWB4.png new file mode 100644 index 000000000..f78daa551 Binary files /dev/null and b/sprites/wolfstuff/XSSWB4.png differ diff --git a/sprites/wolfstuff/XSSWB5.png b/sprites/wolfstuff/XSSWB5.png new file mode 100644 index 000000000..2123e4a18 Binary files /dev/null and b/sprites/wolfstuff/XSSWB5.png differ diff --git a/sprites/wolfstuff/XSSWB6.png b/sprites/wolfstuff/XSSWB6.png new file mode 100644 index 000000000..800c8011c Binary files /dev/null and b/sprites/wolfstuff/XSSWB6.png differ diff --git a/sprites/wolfstuff/XSSWB7.png b/sprites/wolfstuff/XSSWB7.png new file mode 100644 index 000000000..e76ccddda Binary files /dev/null and b/sprites/wolfstuff/XSSWB7.png differ diff --git a/sprites/wolfstuff/XSSWB8.png b/sprites/wolfstuff/XSSWB8.png new file mode 100644 index 000000000..c17f51785 Binary files /dev/null and b/sprites/wolfstuff/XSSWB8.png differ diff --git a/sprites/wolfstuff/XSSWC1.png b/sprites/wolfstuff/XSSWC1.png new file mode 100644 index 000000000..8463df15e Binary files /dev/null and b/sprites/wolfstuff/XSSWC1.png differ diff --git a/sprites/wolfstuff/XSSWC2.png b/sprites/wolfstuff/XSSWC2.png new file mode 100644 index 000000000..61f6b94a6 Binary files /dev/null and b/sprites/wolfstuff/XSSWC2.png differ diff --git a/sprites/wolfstuff/XSSWC3.png b/sprites/wolfstuff/XSSWC3.png new file mode 100644 index 000000000..6c3a7e267 Binary files /dev/null and b/sprites/wolfstuff/XSSWC3.png differ diff --git a/sprites/wolfstuff/XSSWC4.png b/sprites/wolfstuff/XSSWC4.png new file mode 100644 index 000000000..a09864c12 Binary files /dev/null and b/sprites/wolfstuff/XSSWC4.png differ diff --git a/sprites/wolfstuff/XSSWC5.png b/sprites/wolfstuff/XSSWC5.png new file mode 100644 index 000000000..ff4651ece Binary files /dev/null and b/sprites/wolfstuff/XSSWC5.png differ diff --git a/sprites/wolfstuff/XSSWC6.png b/sprites/wolfstuff/XSSWC6.png new file mode 100644 index 000000000..da48c9557 Binary files /dev/null and b/sprites/wolfstuff/XSSWC6.png differ diff --git a/sprites/wolfstuff/XSSWC7.png b/sprites/wolfstuff/XSSWC7.png new file mode 100644 index 000000000..1721c037d Binary files /dev/null and b/sprites/wolfstuff/XSSWC7.png differ diff --git a/sprites/wolfstuff/XSSWC8.png b/sprites/wolfstuff/XSSWC8.png new file mode 100644 index 000000000..31e634b4c Binary files /dev/null and b/sprites/wolfstuff/XSSWC8.png differ diff --git a/sprites/wolfstuff/XSSWD1.png b/sprites/wolfstuff/XSSWD1.png new file mode 100644 index 000000000..3f96cfc3e Binary files /dev/null and b/sprites/wolfstuff/XSSWD1.png differ diff --git a/sprites/wolfstuff/XSSWD2.png b/sprites/wolfstuff/XSSWD2.png new file mode 100644 index 000000000..6af806a65 Binary files /dev/null and b/sprites/wolfstuff/XSSWD2.png differ diff --git a/sprites/wolfstuff/XSSWD3.png b/sprites/wolfstuff/XSSWD3.png new file mode 100644 index 000000000..6d8731cf9 Binary files /dev/null and b/sprites/wolfstuff/XSSWD3.png differ diff --git a/sprites/wolfstuff/XSSWD4.png b/sprites/wolfstuff/XSSWD4.png new file mode 100644 index 000000000..786077e5f Binary files /dev/null and b/sprites/wolfstuff/XSSWD4.png differ diff --git a/sprites/wolfstuff/XSSWD5.png b/sprites/wolfstuff/XSSWD5.png new file mode 100644 index 000000000..957e7d024 Binary files /dev/null and b/sprites/wolfstuff/XSSWD5.png differ diff --git a/sprites/wolfstuff/XSSWD6.png b/sprites/wolfstuff/XSSWD6.png new file mode 100644 index 000000000..20887c5fc Binary files /dev/null and b/sprites/wolfstuff/XSSWD6.png differ diff --git a/sprites/wolfstuff/XSSWD7.png b/sprites/wolfstuff/XSSWD7.png new file mode 100644 index 000000000..ded1e7171 Binary files /dev/null and b/sprites/wolfstuff/XSSWD7.png differ diff --git a/sprites/wolfstuff/XSSWD8.png b/sprites/wolfstuff/XSSWD8.png new file mode 100644 index 000000000..4e54105f3 Binary files /dev/null and b/sprites/wolfstuff/XSSWD8.png differ diff --git a/sprites/wolfstuff/XSSWE0.png b/sprites/wolfstuff/XSSWE0.png new file mode 100644 index 000000000..7949f8a69 Binary files /dev/null and b/sprites/wolfstuff/XSSWE0.png differ diff --git a/sprites/wolfstuff/XSSWF0.png b/sprites/wolfstuff/XSSWF0.png new file mode 100644 index 000000000..80a09b68c Binary files /dev/null and b/sprites/wolfstuff/XSSWF0.png differ diff --git a/sprites/wolfstuff/XSSWG0.png b/sprites/wolfstuff/XSSWG0.png new file mode 100644 index 000000000..ddddd74b0 Binary files /dev/null and b/sprites/wolfstuff/XSSWG0.png differ diff --git a/sprites/wolfstuff/XSSWH0.png b/sprites/wolfstuff/XSSWH0.png new file mode 100644 index 000000000..06f138c4f Binary files /dev/null and b/sprites/wolfstuff/XSSWH0.png differ diff --git a/sprites/wolfstuff/XSSWI0.png b/sprites/wolfstuff/XSSWI0.png new file mode 100644 index 000000000..656dc9237 Binary files /dev/null and b/sprites/wolfstuff/XSSWI0.png differ diff --git a/sprites/wolfstuff/XSSWJ0.png b/sprites/wolfstuff/XSSWJ0.png new file mode 100644 index 000000000..5d79faa7e Binary files /dev/null and b/sprites/wolfstuff/XSSWJ0.png differ diff --git a/sprites/wolfstuff/XSSWK0.png b/sprites/wolfstuff/XSSWK0.png new file mode 100644 index 000000000..cc0744889 Binary files /dev/null and b/sprites/wolfstuff/XSSWK0.png differ diff --git a/sprites/wolfstuff/XSSWL0.png b/sprites/wolfstuff/XSSWL0.png new file mode 100644 index 000000000..a8aa32b87 Binary files /dev/null and b/sprites/wolfstuff/XSSWL0.png differ diff --git a/sprites/wolfstuff/XSSWM0.png b/sprites/wolfstuff/XSSWM0.png new file mode 100644 index 000000000..9591d6ec5 Binary files /dev/null and b/sprites/wolfstuff/XSSWM0.png differ diff --git a/sprites/wolfstuff/XSSWW1.png b/sprites/wolfstuff/XSSWW1.png new file mode 100644 index 000000000..fa167eddf Binary files /dev/null and b/sprites/wolfstuff/XSSWW1.png differ diff --git a/sprites/wolfstuff/XSSWW2.png b/sprites/wolfstuff/XSSWW2.png new file mode 100644 index 000000000..e3987f313 Binary files /dev/null and b/sprites/wolfstuff/XSSWW2.png differ diff --git a/sprites/wolfstuff/XSSWW3.png b/sprites/wolfstuff/XSSWW3.png new file mode 100644 index 000000000..469aae8aa Binary files /dev/null and b/sprites/wolfstuff/XSSWW3.png differ diff --git a/sprites/wolfstuff/XSSWW4.png b/sprites/wolfstuff/XSSWW4.png new file mode 100644 index 000000000..222d59877 Binary files /dev/null and b/sprites/wolfstuff/XSSWW4.png differ diff --git a/sprites/wolfstuff/XSSWW5.png b/sprites/wolfstuff/XSSWW5.png new file mode 100644 index 000000000..36a138ea6 Binary files /dev/null and b/sprites/wolfstuff/XSSWW5.png differ diff --git a/sprites/wolfstuff/XSSWW6.png b/sprites/wolfstuff/XSSWW6.png new file mode 100644 index 000000000..0449ed1d2 Binary files /dev/null and b/sprites/wolfstuff/XSSWW6.png differ diff --git a/sprites/wolfstuff/XSSWW7.png b/sprites/wolfstuff/XSSWW7.png new file mode 100644 index 000000000..b3b3468da Binary files /dev/null and b/sprites/wolfstuff/XSSWW7.png differ diff --git a/sprites/wolfstuff/XSSWW8.png b/sprites/wolfstuff/XSSWW8.png new file mode 100644 index 000000000..1dbed4898 Binary files /dev/null and b/sprites/wolfstuff/XSSWW8.png differ diff --git a/zmapinfo.txt b/zmapinfo.txt index af07f39e4..ed5e86fd2 100644 --- a/zmapinfo.txt +++ b/zmapinfo.txt @@ -184,6 +184,11 @@ DoomEdNums 4206915 = KirinManga 4206916 = KirinPlush 4206917 = RubberDuck + // these are also pp stuff + 4206990 = SWWMGuard + 4206991 = SWWMHans + 4206992 = SWWMSS + 4206993 = SWWMDog } // edited Doom 2 cast to show the Demolitionist at the end diff --git a/zscript.txt b/zscript.txt index f8e2077fa..c2e8436dc 100644 --- a/zscript.txt +++ b/zscript.txt @@ -101,6 +101,8 @@ version "4.5" #include "zscript/weapons/swwm_tastytreat_fx.zsc" #include "zscript/weapons/swwm_deathlydeathcannon.zsc" #include "zscript/weapons/swwm_deathlydeathcannon_fx.zsc" +// monsters +#include "zscript/swwm_monsters.zsc" // DLC1 - Weapon Set #include "zscript/dlc1/swwm_ammoitems_dlc.zsc" #include "zscript/dlc1/swwm_hammertime.zsc" diff --git a/zscript/compat/swwm_compat.zsc b/zscript/compat/swwm_compat.zsc index 72e772b44..e50b5a1aa 100644 --- a/zscript/compat/swwm_compat.zsc +++ b/zscript/compat/swwm_compat.zsc @@ -21,6 +21,7 @@ Class SWWMLevelCompatibility : LevelPostProcessor { int ncellsa = 0, ncellsb = 0; int nbackpack = 0; + bool wolfmap31 = false; switch ( checksum ) { case 'none': @@ -183,6 +184,58 @@ Class SWWMLevelCompatibility : LevelPostProcessor nbackpack++; } break; + // Doom 2 MAP31 + case '0BB515B79E0A6C42C4846C4E6F5F1D73': + case '3FF94E27423F91C1585B3396F0C03459': + case 'F2235342F1591B59154022E1DAF3EB2F': + case '3FF94E27423F91C1585B3396F0C03459': + wolfmap31 = true; + // Doom 2 MAP32 + case '34A8DB0B341A32267CB461D8C219DF0A': + case 'AA4CA3FC891D13821ACCABD836E29EB5': + case '9AA7780B46EC4471F630572798943D71': + // sound sequence handling + for ( int i=0; i rang ) return false; - if ( Health > 0 ) - { - DamageMobj(user,user,Health,'Untie',DMG_FORCED|DMG_THRUSTLESS); - return true; - } - return false; - } - Default - { - Tag "$FN_KEEN"; - Health 100; - Radius 10; - Height 54; - Mass int.max; - PainChance 256; - +SOLID; - +SPAWNCEILING; - +NOGRAVITY; - +SHOOTABLE; - +NOICEDEATH; - +DONTFALL; - +NOBLOOD; - +DONTTHRUST; - } - States - { - Spawn: - KEE2 A -1; - Stop; - Death: - KEE2 A 6 A_StartSound("newkeen/hit"); - KEE2 B 6 A_DropKeen(); - KEE2 C 6; - KEE2 DE 6; - KEE2 F 30; - KEE2 F -1 A_KeenDie(); - Stop; - Pain: - KEE2 G 4 A_StartSound("newkeen/hit"); - KEE2 G 8; - Goto Spawn; - } -} -Class SWWMDroppedKeen : Actor -{ - Default - { - Radius 10; - Height 32; - Gravity .5; - +NOBLOCKMAP; - } - States - { - Spawn: - KEE3 A 0 NoDelay - { - A_StartSound("newkeen/fall",volume:.5); - A_StartSound("newkeen/die",CHAN_VOICE); - } - KEE3 A 1 A_JumpIf(pos.z<=floorz,1); - Wait; - KEE3 B 1 - { - A_StartSound("newkeen/bounce"); - vel.z = 4; - } - KEE3 B 1 A_JumpIf(pos.z<=floorz,1); - Wait; - KEE3 B 1 - { - A_StartSound("newkeen/bounce",volume:.8); - vel.z = 2; - } - KEE3 B 1 A_JumpIf(pos.z<=floorz,1); - Wait; - KEE3 B 12 A_StartSound("newkeen/bounce",volume:.6); - TNT1 A 1 { Spawn("TeleportFog",pos,ALLOW_REPLACE); } - Stop; - } -} - -Class SWWMBossBrainExpl : Actor -{ - void A_Ignite() - { - A_QuakeEx(3,3,3,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollintensity:2.); - A_StartSound("explodium/hit",CHAN_VOICE,CHANF_DEFAULT,.4,.5); - Scale *= FRandom[ExploS](0.8,1.1); - Scale.x *= RandomPick[ExploS](-1,1); - Scale.y *= RandomPick[ExploS](-1,1); - int numpt = Random[ExploS](8,16); - for ( int i=0; i 0) && (a.bBossSpawned || a.bCOUNTKILL) ) - a.DamageMobj(self,self,a.Health,'EndMii',DMG_FORCED|DMG_THRUSTLESS); - } - - } - - Default - { - Tag "$FN_BOSSBRAIN"; - Radius 20; - Height 40; - +NOBLOOD; - } - States - { - Spawn: - MBRN A -1; - Stop; - Pain: - MBRN A 10 - { - A_StartSound("brain/pain",CHAN_VOICE,attenuation:ATTN_NONE); - A_QuakeEx(3,3,3,15,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.3); - if ( !eyeless ) SpawnBrainExpl(false); - Spawn("SWWMBossBrainPain",pos); - } - Goto Spawn; - Death: - MBRN A 120 - { - A_StartSound("brain/death",CHAN_VOICE,attenuation:ATTN_NONE); - A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.); - if ( !eyeless ) - { - SpawnBrainExpl(true); - EverythingDies(); - } - Spawn("SWWMBossBrainPain",pos); - } - MBRN A -1 A_BrainDie(); - Stop; - } -} - +// basic "does nothing" actor, used to remove stuff in CheckReplacement Class SWWMNothing : Actor { States diff --git a/zscript/swwm_monsters.zsc b/zscript/swwm_monsters.zsc new file mode 100644 index 000000000..37b3efd6c --- /dev/null +++ b/zscript/swwm_monsters.zsc @@ -0,0 +1,552 @@ +// enemies 'n stuff + +// Future planning, will be filled out with AI stuff and whatnot someday +Class SWWMMonster : Actor abstract +{ + // integrated fun tags + virtual clearscope String GetFunTag( String defstr = "" ) + { + return GetTag(defstr); + } + + // the function that should be overriden in subclasses + virtual int HandleLocationalDamage( Actor inflictor, Actor source, int damage, Name mod, Vector3 HitLocation, int flags = 0, double angle = 0 ) + { + return damage; + } + + // locational damage support, akin to UE1, but hitlocation will be treated as a relative offset, to make things easier + // this one should be called directly by everything in this mod, when possible + int LocationalDamageMobj( Actor inflictor, Actor source, int damage, Name mod, Vector3 HitLocation, int flags = 0, double angle = 0 ) + { + damage = HandleLocationalDamage(inflictor,source,damage,mod,HitLocation,flags,angle); + return Super.DamageMobj(inflictor,source,damage,mod,flags,angle); + } + + // "estimated" locational damage for the vanilla DamageMobj + override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle ) + { + Vector3 guesspos = (0,0,Height/2.); + // use inflictor if available, as it may be a projectile or hitscan puff + // if damage comes from an item, use owner + // all of this could be done better (or implemented as an engine feature), but whatever + Actor whomst = inflictor?inflictor:source; + if ( whomst is 'Inventory' ) whomst = Inventory(whomst).Owner; + if ( whomst ) + { + if ( whomst.bMISSILE || (flags&DMG_INFLICTOR_IS_PUFF) ) + guesspos = level.Vec3Diff(pos,whomst.pos); + else guesspos = level.Vec3Diff(pos,whomst.Vec3Offset(0,0,whomst.Height/2)); + guesspos.x = clamp(guesspos.x,-radius,radius); + guesspos.y = clamp(guesspos.y,-radius,radius); + guesspos.z = clamp(guesspos.z,0,height); + } + return LocationalDamageMobj(inflictor,source,damage,mod,guesspos,flags,angle); + } +} + +// Less mean-spirited Keen +Class SWWMHangingKeen : Actor +{ + action void A_DropKeen() + { + Spawn("SWWMDroppedKeen",Vec3Offset(0,0,8)); + } + override bool Used( Actor user ) + { + // test vertical range + Vector3 diff = level.Vec3Diff(user.Vec3Offset(0,0,user.Height/2),Vec3Offset(0,0,Height/2)); + double rang = user.player?PlayerPawn(user.player.mo).UseRange:(user.Height/2); + if ( abs(diff.z) > rang ) return false; + if ( Health > 0 ) + { + DamageMobj(user,user,Health,'Untie',DMG_FORCED|DMG_THRUSTLESS); + return true; + } + return false; + } + Default + { + Tag "$FN_KEEN"; + Health 100; + Radius 10; + Height 54; + Mass int.max; + PainChance 256; + +SOLID; + +SPAWNCEILING; + +NOGRAVITY; + +SHOOTABLE; + +NOICEDEATH; + +DONTFALL; + +NOBLOOD; + +DONTTHRUST; + } + States + { + Spawn: + KEE2 A -1; + Stop; + Death: + KEE2 A 6 A_StartSound("newkeen/hit"); + KEE2 B 6 A_DropKeen(); + KEE2 C 6; + KEE2 DE 6; + KEE2 F 30; + KEE2 F -1 A_KeenDie(); + Stop; + Pain: + KEE2 G 4 A_StartSound("newkeen/hit"); + KEE2 G 8; + Goto Spawn; + } +} +Class SWWMDroppedKeen : Actor +{ + Default + { + Radius 10; + Height 32; + Gravity .5; + +NOBLOCKMAP; + } + States + { + Spawn: + KEE3 A 0 NoDelay + { + A_StartSound("newkeen/fall",volume:.5); + A_StartSound("newkeen/die",CHAN_VOICE); + } + KEE3 A 1 A_JumpIf(pos.z<=floorz,1); + Wait; + KEE3 B 1 + { + A_StartSound("newkeen/bounce"); + vel.z = 4; + } + KEE3 B 1 A_JumpIf(pos.z<=floorz,1); + Wait; + KEE3 B 1 + { + A_StartSound("newkeen/bounce",volume:.8); + vel.z = 2; + } + KEE3 B 1 A_JumpIf(pos.z<=floorz,1); + Wait; + KEE3 B 12 A_StartSound("newkeen/bounce",volume:.6); + TNT1 A 1 { Spawn("TeleportFog",pos,ALLOW_REPLACE); } + Stop; + } +} + +Class SWWMBossBrainExpl : Actor +{ + void A_Ignite() + { + A_QuakeEx(3,3,3,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollintensity:2.); + A_StartSound("explodium/hit",CHAN_VOICE,CHANF_DEFAULT,.4,.5); + Scale *= FRandom[ExploS](0.8,1.1); + Scale.x *= RandomPick[ExploS](-1,1); + Scale.y *= RandomPick[ExploS](-1,1); + int numpt = Random[ExploS](8,16); + for ( int i=0; i 0) && (a.bBossSpawned || a.bCOUNTKILL) ) + a.DamageMobj(self,self,a.Health,'EndMii',DMG_FORCED|DMG_THRUSTLESS); + } + + } + + Default + { + Tag "$FN_BOSSBRAIN"; + Radius 20; + Height 40; + +NOBLOOD; + } + States + { + Spawn: + MBRN A -1; + Stop; + Pain: + MBRN A 10 + { + A_StartSound("brain/pain",CHAN_VOICE,attenuation:ATTN_NONE); + A_QuakeEx(3,3,3,15,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.3); + if ( !eyeless ) SpawnBrainExpl(false); + Spawn("SWWMBossBrainPain",pos); + } + Goto Spawn; + Death: + MBRN A 120 + { + A_StartSound("brain/death",CHAN_VOICE,attenuation:ATTN_NONE); + A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.); + if ( !eyeless ) + { + SpawnBrainExpl(true); + EverythingDies(); + } + Spawn("SWWMBossBrainPain",pos); + } + MBRN A -1 A_BrainDie(); + Stop; + } +} + +// MAP31/MAP32 wolfenstein enemies (rough DOS replication) +Class SWWMGuard : Actor +{ + Default + { + Scale 2; + Health 20; + Radius 40; + Height 112; + Speed 12; + PainChance 170; + Monster; + +FLOORCLIP; + SeeSound "wolf3d/guardsight"; + DeathSound "wolf3d/guarddie"; + AttackSound "wolf3d/guardfire"; + Obituary "$OB_WOLFGUARD"; + Tag "$FN_WOLFGUARD"; + Species "WolfensteinSS"; + DropItem "Clip"; + } + States + { + Spawn: + XGRD A 5 A_Look; + Wait; + See: + XGRD BBCCDDEE 2 A_Chase; + Loop; + Missile: + XGRD FG 8 A_FaceTarget; + XGRD H 0 A_StartSound(AttackSound,CHAN_WEAPON); + XGRD H 8 Bright A_CustomBulletAttack(22.5,0,1,Random[PosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + Goto See; + Pain: + XGRD I 0 A_JumpIf(Health&1,2); + XGRD I 2 A_Pain(); + Goto See; + XGRD J 2 A_Pain(); + Goto See; + Death: + XGRD K 5; + XGRD L 5 A_Scream(); + XGRD M 5 A_NoBlocking(); + XGRD N -1; + Stop; + } +} + +Class SWWMSS : Actor +{ + Default + { + Scale 2; + Health 50; + Radius 40; + Height 112; + Speed 12; + PainChance 170; + Monster; + +FLOORCLIP; + SeeSound "wolf3d/sssight"; + DeathSound "wolf3d/ssdie"; + AttackSound "wolf3d/ssfire"; + Obituary "$OB_WOLFSS"; + Tag "$FN_WOLFSS"; + Species "WolfensteinSS"; + DropItem "Clip"; + } + States + { + Spawn: + XSSW W 5 A_Look; + Wait; + See: + XSSW AABBCCDD 2 A_Chase; + Loop; + Missile: + XSSW EF 5 A_FaceTarget(); + XSSW G 0 A_StartSound(AttackSound,CHAN_WEAPON); + XSSW G 2 Bright A_CustomBulletAttack(22.5,0,1,Random[CPosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + XSSW F 3 A_FaceTarget(); + XSSW G 2 Bright A_CustomBulletAttack(22.5,0,1,Random[CPosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + XSSW F 3 A_FaceTarget(); + XSSW G 2 Bright A_CustomBulletAttack(22.5,0,1,Random[CPosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + XSSW F 3 A_FaceTarget(); + XSSW G 2 Bright A_CustomBulletAttack(22.5,0,1,Random[CPosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + Goto See; + Pain: + XSSW H 0 A_JumpIf(Health&1,2); + XSSW H 2 A_Pain(); + Goto See; + XSSW I 2 A_Pain(); + Goto See; + Death: + XSSW J 5; + XSSW K 5 A_Scream(); + XSSW L 5 A_NoBlocking(); + XSSW M -1; + Stop; + } +} + +Class SWWMHans : Actor +{ + Default + { + Scale 2; + Health 1200; + Radius 40; + Height 112; + Mass 1000; + Speed 12; + Monster; + MinMissileChance 160; + +BOSS; + +MISSILEMORE; + +FLOORCLIP; + +NORADIUSDMG; + +DONTMORPH; + +LOOKALLAROUND; + AttackSound "wolf3d/hansfire"; + DeathSound "wolf3d/hansdie"; + SeeSound "wolf3d/hanssight"; + Obituary "$OB_WOLFHANS"; + Tag "$FN_WOLFHANS"; + Species "WolfensteinSS"; + } + States + { + Spawn: + XHNS A 5 A_Look(); + Wait; + See: + XHNS AABBCCDD 2 A_Chase(); + Loop; + Missile: + XHNS E 8 A_FaceTarget(); + XHNS F 4 A_FaceTarget(); + XHNS G 0 A_StartSound(AttackSound,CHAN_WEAPON); + XHNS GFGFGE 3 Bright A_CustomBulletAttack(22.5,0,3,Random[CPosAttack](1,5)*3,flags:CBAF_NORANDOM,spawnheight:64); + Goto See; + Death: + XHNS H 10; + XHNS I 10 A_Scream(); + XHNS J 10 A_NoBlocking(); + XHNS K -1; + Stop; + } +} + +Class SWWMDog : Actor +{ + Default + { + Scale 2; + Health 1; + Speed 12; + Radius 24; + Height 56; + Mass 100; + Monster; + AttackSound "wolf3d/dogbite"; + DeathSound "wolf3d/dogdie"; + SeeSound "wolf3d/dogsight"; + Obituary "$OB_DOG"; + Tag "$FN_DOG"; + } + States + { + Spawn: + XDOG A 5 A_Look(); + Wait; + See: + XDOG AABBCCDD 2 A_Chase(); + Loop; + Melee: + XDOG EF 5 A_FaceTarget(); + XDOG G 5 A_SargAttack(); + XDOG EA 5; + Goto See; + Death: + XDOG H 5; + XDOG I 5 A_Scream(); + XDOG J 5 A_NoBlocking(); + XDOG K -1; + Stop; + } +} diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index f40d3f1be..c74a0e691 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -526,7 +526,8 @@ Class Demolitionist : PlayerPawn TextureID replacewith; [remove, replacewith] = SWWMUtility.DefaceTexture(d.HitTexture); if ( !remove ) return; - player.usedown = true; + if ( (d.HitType != TRACE_HitWall) || !d.HitLine.special || !(d.HitLine.activation&SPAC_Use) ) + player.usedown = true; A_StartSound("bestsound",CHAN_ITEMEXTRA,CHANF_OVERLAP); lastbump *= .97; if ( d.HitType == TRACE_HitWall ) diff --git a/zscript/utility/swwm_utility.zsc b/zscript/utility/swwm_utility.zsc index f7b5ac715..746e7beb9 100644 --- a/zscript/utility/swwm_utility.zsc +++ b/zscript/utility/swwm_utility.zsc @@ -854,14 +854,22 @@ Class SWWMUtility basetag = "BOSSBRAIN"; break; case 'WolfensteinSS': + case 'SWWMSS': basetag = "WOLFSS"; break; case 'SWWMHangingKeen': basetag = "KEEN"; break; case 'MBFHelperDog': + case 'SWWMDog': basetag = "DOG"; break; + case 'SWWMGuard': + basetag = "WOLFGUARD"; + break; + case 'SWWMHans': + basetag = "WOLFHANS"; + break; // Heretic case 'Chicken': basetag = "CHICKEN"; @@ -1144,9 +1152,9 @@ Class SWWMUtility static clearscope bool IdentifyingDog( Actor a ) { if ( a is 'MBFHelperDog' ) return true; - // reminder that mark is a terrible person - if ( a.GetClassName() == 'GermanDog' ) return true; - if ( a.GetClassName() == '64HellHound' ) return true; + if ( a is 'SWWMDog' ) return true; + if ( a.GetClassName() == 'GermanDog' ) return true; // brote dote + if ( a.GetClassName() == '64HellHound' ) return true; // brote dote 64 if ( a.GetClassName() == 'AbyssDemon2' ) return true; // CH if ( a.GetClassName() == 'WHOLETTHEDOGSOUT' ) return true; // CH // more dogs will be added as found