Added projectile parrying. Hitscan parry will come soon.
Went a bit crazy with the extended lore again, oops.
This commit is contained in:
parent
ff1971b92c
commit
98477d28b9
16 changed files with 310 additions and 61 deletions
222
ExtendedLore.md
222
ExtendedLore.md
|
|
@ -433,38 +433,82 @@ the old mechanical demigod Maester Mekes.
|
|||
## A loose timeline of events
|
||||
|
||||
This is in no way accurate, and it's hard to make much sense of all of it since
|
||||
SWWM GZ effectively blends together the Doom and Unreal universes.
|
||||
SWWM GZ effectively blends Doom with the UnSX universe (which was itself
|
||||
already blended with Unreal). Note that there are BIG SPOILERS for some stuff
|
||||
in my games here (though I'm avoiding spoilers for Doom Eternal, at least)
|
||||
|
||||
- ????: Twenty years after the fall of the Order of the One God, a message is
|
||||
received from an old ruined complex beyond the seas. A declaration of war
|
||||
from the "Church of the Dreadful Lady". A single, well trained mercenary puts
|
||||
an end to their plans, but the true mastermind behind it all manages to flee.
|
||||
- 1992: Waratsuki Emimaru is born.
|
||||
- August of 2021: Hollow begins.
|
||||
- September of 2021: Hollow ends. The "Convergence Event" happens, the real
|
||||
world is destroyed. Waratsuki Emimaru becomes The Grinning Man.
|
||||
|
||||
- ????: A Sidhe thief infiltrates the mansion of one of D'Sparil's old
|
||||
associates, stealing the Heart of D'Sparil and putting an end to the plans
|
||||
for resurrecting him. The mansion is sold off, most of its valuables,
|
||||
including the corporeal remains of the serpent rider, passed around among
|
||||
several parties, until being eventually acquired by the "Cult of the
|
||||
Viridescent Lord".
|
||||
...
|
||||
|
||||
- ????: The three heroes who defeated Korax are called into the Winter Nexus,
|
||||
they gather the four elemental gems and defeat the "Viridescent Lord". A
|
||||
mysterious shadowy figure revives the corpse of D'Sparil, they disappear.
|
||||
|
||||
- ~130 BC: The town of Kereshnovka is founded by an alien race known as the
|
||||
Qurensniv.
|
||||
- ~149: The mad druid Daos Khomax summons a demon called Manakei, who proceeds
|
||||
- Iteration 0: The void forms from within the bubble of empty space-time left
|
||||
by the real world's destruction.
|
||||
- Iteration 1: Azadeku, the first Administrator, is spawned.
|
||||
- Iteration ~3.56542e208: Azadeku is erased by a Chaos Walker known as The
|
||||
Grinning Man, who takes over the world they created. Project .Blank begins.
|
||||
- ~2730000 BC: The mad dictator god Nedoshiaan is assassinated.
|
||||
- 50803 BC: Administrator Noskas Kurenai is spawned from the void, creates the
|
||||
world of Novoskhana.
|
||||
- 45306 BC: The Eternal Undying Empire of Novoskhana is founded.
|
||||
- 13903 BC: The Kurenai Kingdom is founded.
|
||||
- 13675 BC: After a long absence, Father Nostros returns to the Kurenai Kingdom
|
||||
followed by an army of demonic creatures, he takes over and forces everyone
|
||||
else out. The old Kurenai Kingdom becomes what is now known as Hell.
|
||||
- 4673 BC: Prince Admun is born.
|
||||
- 4648 BC: Prince Admun's parents are assassinated, he is appointed as King.
|
||||
- 4607 BC: Seras Tonkebis, Admun's personal advisor, executes his plan to take
|
||||
the throne. Admun is forced into exile on the remote Egyptian colony of the
|
||||
planet Earth, and is "cursed to roam the land eternally, unable to ever die".
|
||||
- 1309 BC: After the defeat of Hektor Kuratagon and his Votrexxian armies on
|
||||
Hebeku, the Nukuri discover a portal leading to a yet unexplored solar
|
||||
system, and decide to investigate. They come across a planet brimming with
|
||||
life, inhabited by a sapient, antropomorphic species, Humans. After settling
|
||||
on Earth's moon and forming a peaceful alliance with the Lunarian natives,
|
||||
they begin construction of the Luna Research Institute.
|
||||
- 244 BC: Reubens Cyrus Karnanaiahmani is born.
|
||||
- 130 BC: Having escaped from their homeworld when king Marc P. Karnanaiahmani
|
||||
went mad and began executing anyone he suspected of treason, the Qurensniv
|
||||
people arrive on Earth, a planet that their Nukuri allies were supervising,
|
||||
and found the town of Kereshnovka.
|
||||
- 149: The mad druid Daos Khomax summons a demon called Manakei, who proceeds
|
||||
to burn down Kereshnovka. A group of warriors manage to defeat him. Weakened,
|
||||
he retreats to the ghoul-infested forest, never to be seen again.
|
||||
- 808: Admun settles on an european town as a blacksmith, under the alias of
|
||||
"James the Blacksmith".
|
||||
- 1011: Admun is imprisoned for a shoddy armor fitting job that caused a young
|
||||
king to have his helmet permanently stuck to his head.
|
||||
- 1097: Admun is freed, migrates to Scotland. Adopts his current name of
|
||||
"James Admun Tachmek-Smith".
|
||||
- 1308: The University of Nos-Kora is founded.
|
||||
- 1744: Nekuratek is founded.
|
||||
- 1870: Zanata Nekuraku I dies on a tragic accident while testing the first
|
||||
Nokorokinylum fusion reactor. Her husband commits suicide not long after.
|
||||
- 1887: Ashley Knox is born.
|
||||
- 1894: Daniel Ischer is born.
|
||||
- 1907: Nana Miyamoto is born.
|
||||
- 1924: Blackmann Arms is founded.
|
||||
- 1933: The Ischer family migrates to the US.
|
||||
- 1956: Ryuji Miyamoto is born.
|
||||
- 1973: Nana and Ryuji get married.
|
||||
- 1976: Häzel Hoodth is born.
|
||||
- 1977: A member of Hell's royal family travels to Kereshnovka in order to
|
||||
rescue Manakei, who happens to be the heir to the throne. She fails to find
|
||||
him.
|
||||
- 1980: Janus Locke Hoodth is born.
|
||||
- 1985: Taro Miyamoto is born.
|
||||
- 1987: Dr. Häzel Hoodth dies tragically, becoming a ghoul of Kereshnovka.
|
||||
- 1992: Misa Unissix is born.
|
||||
- 1993: Saya Miyamoto is born.
|
||||
- 2001: The Union Aerospace Armed Forces is formed.
|
||||
- 2003: Onoke Mansion Murders.
|
||||
- 2004: The Imanaki Research Foundation builds its headquarters in Kereshnovka.
|
||||
- 2005: The town of Soundless Mound becomes shrouded in thick fog for five
|
||||
whole days. Several reports of strange happenings are made.
|
||||
- 2006: Ashley's band, "The Black Rat's Coven" is formed. Its initial members
|
||||
are Ashley, Maruku Sarahabinaku, Py Kisun and William Dusk.
|
||||
- 2007: The "Ghoul hunt" begins after a high-ranking UAAF official is murdered
|
||||
by the creatures during a business visit to the Imanaki HQ.
|
||||
- 2008: At the peak of the Ghoul hunt, an envoy of the Anarukon people is
|
||||
|
|
@ -475,25 +519,41 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
survive and put an end to the incident after traveling back through the gate
|
||||
and coming into contact with the Anderken royal family. Some time later,
|
||||
UAAF soldiers scour the remains of the facility, retrieving most of the
|
||||
foundation's research documents.
|
||||
foundation's research documents. Yui Miyamoto is born.
|
||||
- 2010: Akari Labs is founded.
|
||||
- 2012: Munch Innovations is founded.
|
||||
- 2013: Zanaveth II transfers to the Luna Research Institute, working as
|
||||
head of research Nikita Kunau's assistant.
|
||||
- 2014: Tach-Engine Technologies is founded.
|
||||
- 2015: The UAAF rebrands itself as the UAC, having found quite a lot of
|
||||
interest in what they recovered from Imanaki.
|
||||
- 2018: Second major incident in the town of Kereshnovka. A rogue AI known as
|
||||
SUSAN surfaces on the northern seas, assumes control of Russia's missile
|
||||
systems.
|
||||
- 2017: Saya creates the first Maidbot.
|
||||
- 2016: Zanaveth II and Misa Unissix get married.
|
||||
- 2018: Empty Episode One. Second major incident in the town of Kereshnovka. A
|
||||
rogue AI known as SUSAN surfaces on the northern seas, assumes control of
|
||||
Russia's missile systems.
|
||||
- 2019: Samuel Hayden is born.
|
||||
- 2020: A group of hackers manage to temporarily take over SUSAN, use its
|
||||
advanced computing power to run thirty parallel instances of Crysis and a
|
||||
500-player Minecraft server. This lasts for several months.
|
||||
500-player Minecraft server. This lasts for several months, allowing things
|
||||
to mostly return to normal for a while, including the Tokyo Olympics.
|
||||
Following a concert of Ashley's band, she meets Yui Miyamoto and they start
|
||||
dating. Not long after, they get married.
|
||||
- 2021: The "Luna Event" happens. The first contact between humans and a
|
||||
non-hostile alien race, the Nukuri, who had been observing our race for
|
||||
centuries from a hidden research facility on the Moon. Following the event,
|
||||
Nukuri forces deployed to Earth successfully neutralize SUSAN.
|
||||
- 2023: The two Koreas re-unify.
|
||||
- 2022: Scotland becomes independent.
|
||||
- 2023: The two Koreas re-unify. Following years of negotiation, Galicia
|
||||
becomes part of Portugal. Ana Blanco becomes the first human woman to marry a
|
||||
Nukuri.
|
||||
- 2024: Zanaveth II arrives on Earth, befriends Saya. With her help, Saya's
|
||||
Maidbot is migrated to the Nekuronbot AI framework, further enhancing her
|
||||
personality.
|
||||
- 2025: First expedition to Mars, led by the UAC. Scotland becomes independent.
|
||||
- 2027: William Dusk leaves Ashley's band, but not before hurting her deeply by
|
||||
escaping with her granddaughter Lyra. He is replaced as drummer by the
|
||||
goddess Mykka.
|
||||
- 2029: Forx Aeronautics is founded, singlehandedly "fixes the economy" of the
|
||||
UK.
|
||||
- 2032: Joint expedition with the Nukuri to Sedna, revealing a gateway that
|
||||
|
|
@ -501,9 +561,13 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
between two solar systems.
|
||||
- 2038: The 32-bit UNIX time rollover happens without many notable incidents.
|
||||
- 2040: Symnatek is founded.
|
||||
- 2042: Zanaveth III is born.
|
||||
- 2044: The Rust Empire is founded.
|
||||
- 2045: The ruins of a Decade Mechanics facility are found in Sunkaeze.
|
||||
- 2049: The clearly senile Dr. Locke attempts to take over the world.
|
||||
Surrenders a couple days later during the counter-attack.
|
||||
- 2054: Ryuji Miyamoto passes away.
|
||||
- 2066: Elena "Ellen" Yanikov XVI is born.
|
||||
- 2068: The Nukuri go through their seventh world war in their home planet.
|
||||
- 2073: World War 3 starts thanks to a very negatively received post on social
|
||||
media from the president of the US regarding the Nukuri.
|
||||
|
|
@ -516,24 +580,33 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
it is already too late. World War 3 ends as the United States are almost
|
||||
literally dissolved by an orbital strike. In the aftermath, the Nukuri
|
||||
abandon Earth, never to come back.
|
||||
- 2080: Emperor Kirin Xanai is born.
|
||||
- 2082: Alaska becomes part of Canada.
|
||||
- 2091: Taro Miyamoto finds Ibuki, who had become a sort of living legend among
|
||||
wastelanders for her various feats. She is brought back to Japan. As
|
||||
promised, Saya immediately shoves her face into Ibuki's chest.
|
||||
- 2097: The Earth is invaded by a mysterious humanoid entity, who claims to be
|
||||
the Abrahamic God. He reactivates SUSAN and leaves. Russia and China are both
|
||||
entirely taken over by it.
|
||||
- 2099: A lone child manages to take down SUSAN.
|
||||
wastelanders for her various feats, he also comes across Ellen, who casually
|
||||
asks him out on a date. Ibuki is brought back to Japan. As promised, Saya
|
||||
immediately shoves her face into Ibuki's chest.
|
||||
- 2095: Taro and Ellen get married.
|
||||
- 2097: Empty Episode Two. The Earth is invaded by a mysterious humanoid entity
|
||||
named Uruk'Anth, who claims to be the Abrahamic God. He reactivates SUSAN and
|
||||
leaves. Russia and China are both entirely taken over by it.
|
||||
- 2099: Empty Episode 3. A lone child manages to take down SUSAN.
|
||||
- 2100: The reconstruction of the United States begins.
|
||||
- 2104: The 7th Nukuri World War ends abruptly after the Mishe founders of the
|
||||
University of Nos-Kora threaten to break their alliance with the Nukuri.
|
||||
- 2108: Formation of the Nukuri Unified Government. Zanaveth II personally
|
||||
appointed by the Nukritas brothers as "Minister of Interspecies Relations"
|
||||
due to her outstanding work on the subject following her graduation at the
|
||||
University of Nos-Kora.
|
||||
- 2110: John "BIGSHOT" Gunns is born.
|
||||
- 2128: Zanaveth II becomes CEO of Nekuratek.
|
||||
- 2137: The United States are reformed, now called "Union States".
|
||||
- 2140: Zanaveth III graduates in "Pancake Engineering" at the University of
|
||||
Nos-Kora.
|
||||
- 2144: UAC's first contact with Hell.
|
||||
- 2145: After a coup organized by several members of the lower castes of Hell,
|
||||
the main royal family is forced into exile. Under its new ruler, Hell decides
|
||||
to attack mankind. Doom 3 happens.
|
||||
- 2145: After a coup organized by several generals of Hell's military forces,
|
||||
the main royal family is forced into exile. Under its new rulers, Hell
|
||||
decides to attack mankind. Doom 3 happens.
|
||||
- 2147: Reginald E. Griggs Jr. is imprisoned after countless human remains were
|
||||
found in the basement of his summer house in Olathe.
|
||||
- 2148: The Doom episodes happen as the UAC still hasn't learned their lesson.
|
||||
|
|
@ -566,9 +639,17 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
The Doom Slayer heads in to "fix things". A mysterious figure is seen leaving
|
||||
the mansion afterwards.
|
||||
- 2171: Akari Labs manages to extend their teleportation technology to travel
|
||||
between universes. The second contact with the Anarukon happens, this time
|
||||
all going peacefully. Saya Miyamoto meets Xanai Kirin, their marriage brings
|
||||
forth an alliance between the humans and the Anarukon.
|
||||
between universes. The Demolitionist is deployed in a world called Parthoris,
|
||||
and takes part on a mission to defeat an evil sorcerer who had taken over the
|
||||
land. Months later, following a recommendation from Ashley Knox, the second
|
||||
contact with the Anarukon happens, this time all going peacefully. Saya
|
||||
Miyamoto meets Kirin Xanai, their marriage brings forth an alliance between
|
||||
the humans and the Anarukon.
|
||||
- 2172: Second major exploration at Akari Labs, the Demolitionist is deployed
|
||||
into a realm known as Cronos in order to defeat an associate of the old
|
||||
sorcerer from their previous mission.
|
||||
- 2173: Third major exploration, with the Demolitionist taking part of a rebel
|
||||
uprising in a world dominated by a cult known as the Order of the One God.
|
||||
- 2174: The prophecy of Mr. BIG SHOT comes true as the "Great Face In The Sky"
|
||||
reveals itself. It is defeated by a single man, one John A. Bortson III.
|
||||
- 2175: Reginald E. Griggs Jr. is executed by lethal injection. His last words:
|
||||
|
|
@ -587,6 +668,8 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
- 2214: The Vortex Rikers crashes on planet Na Pali, Unreal begins.
|
||||
- 2215: The NEG is formed in anticipation of the coming Skaarj invasion.
|
||||
- 2216: The Seven Day Siege happens, the Skaarj are defeated.
|
||||
- 2231: Saya and her creations move in with Kirin, she leaves the leadership of
|
||||
Akari Labs to her brother Taro.
|
||||
- 2241: The Mishe race disappears from the universe, leaving only the founders
|
||||
of the University of Nos-Kora behind, who refuse to explain what happened.
|
||||
- 2250: The "Dark Alliance" is formed within X'Animen Coalition territory.
|
||||
|
|
@ -600,18 +683,20 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
the Necris invasion of 2304, the corporation is dissolved.
|
||||
- 2320: A group of billionaires buy an entire island and turn it into an arena.
|
||||
The "Battle Royale" boom starts.
|
||||
- 2407: Unissix Bokurou Azadeku devises the "Unissix Tournaments".
|
||||
- 2407: Unissix Bokurou Azadeku devises the "Unissix Tournaments". UnSX 1
|
||||
begins.
|
||||
- 2409: The first tournament ends with Raik L Raikishionen, prime minister of
|
||||
the Nukuri Unified Government, as champion.
|
||||
- 2411: In a joint attack, and with the participation of Earth, the "Dark
|
||||
Alliance" is defeated.
|
||||
- 2415: The "New Dark Kingdom" is formed, in an attempt to reunite those who
|
||||
were defeated in the former war. Its leader is defeated not long after.
|
||||
- 2779: The former "Warriors of the End" who had served Nedoshiaan reunite and
|
||||
attempt to bring forth the apocalypse. Although the warriors are stopped,
|
||||
they manage to summon SHINNOVRE the Eraser. For the first time in history, LS
|
||||
breaks their vow to not get involved in "the affairs of mortals" and banishes
|
||||
their brother.
|
||||
- 2411: UnSX 2. In a joint attack, and with the participation of Earth, the
|
||||
"Dark Alliance" is defeated.
|
||||
- 2415: UnSX 4. The "New Dark Kingdom" is formed, in an attempt to reunite
|
||||
those who were defeated in the former war. Its leader is defeated not long
|
||||
after.
|
||||
- 2779: UnSX 6 begins. The former "Warriors of the End" who had served
|
||||
Nedoshiaan reunite and attempt to bring forth the apocalypse. Although the
|
||||
warriors are stopped, they manage to summon HEKEAS SHINNOVRE the Eraser. For
|
||||
the first time in history, LS breaks their vow to not get involved in "the
|
||||
affairs of mortals" and banishes their brother.
|
||||
- 2890: "Vault 490" starts being built in the University of Nos-Kora, it is
|
||||
described as a "focusing device" for a weapon capable of "instantly
|
||||
neutralizing any threat to our universe".
|
||||
|
|
@ -627,7 +712,44 @@ SWWM GZ effectively blends together the Doom and Unreal universes.
|
|||
- 2917: Following ten confusing years of battle, Hiikya is defeated by Deneva
|
||||
Unissix, who sacrifices her own life in the final attack.
|
||||
|
||||
- ????: In order to stop a massive Eldrich Abomination from corrupting all of
|
||||
existence, the two Mishe brothers activate Vault 490. Although the threat is
|
||||
defeated, major parts of the multiverse shatter in the process. Project Abyss
|
||||
begins.
|
||||
Disconnected events that are hard to place in time:
|
||||
|
||||
- ????: Twenty years after the fall of the Order of the One God, a message is
|
||||
received from an old ruined complex from beyond the sea. A declaration of war
|
||||
from the "Church of the Dreadful Lady". A single, well trained mercenary puts
|
||||
an end to their plans, but the true mastermind behind it all manages to flee.
|
||||
|
||||
- ????: A Sidhe thief infiltrates the mansion of one of D'Sparil's old
|
||||
associates, stealing the Heart of D'Sparil and putting an end to the plans
|
||||
for resurrecting him. The mansion is sold off, most of its valuables,
|
||||
including the corporeal remains of the serpent rider, passed around among
|
||||
several parties, until being eventually acquired by the "Cult of the
|
||||
Viridescent Lord".
|
||||
|
||||
- ????: Long after the defeat of Korax, a nameless warrior is called into the
|
||||
Winter Nexus, they gather the four elemental gems and defeat the "Viridescent
|
||||
Lord". A mysterious shadowy figure revives the corpse of D'Sparil, both
|
||||
disappear shortly after.
|
||||
|
||||
Abyssal Era (Project Abyss timeline):
|
||||
|
||||
- 57 BA: Using Saya's interportal technology, the Rust Empire creates the
|
||||
various "passages", connecting Akkou and many other realms together.
|
||||
- 38 BA: The town of Kenaia becomes corrupted by some strange "red mass", many
|
||||
of its inhabitants turn into mindless beasts.
|
||||
- 17 BA: The Church of Levlen initiates their Esper Crusades, aiming to rid the
|
||||
land of all magic-aligned people.
|
||||
- 15 BA: Alakir of Kanaiarkar manages to flee his hometown during an attack
|
||||
from Levlen crusaders.
|
||||
- 8 BA: First excavations on Evakai.
|
||||
- The Abyssal Year: In order to stop a massive Eldrich Abomination from
|
||||
corrupting all of existence, the two Mishe brothers activate Vault 490.
|
||||
Although the threat is defeated, major parts of the multiverse shatter in the
|
||||
process.
|
||||
- 4: A strange plague spreads throughout the various realms. A man known as
|
||||
"The Emissary" appears and reveals himself as its creator, he is captured and
|
||||
imprisoned by the Rust Empire.
|
||||
- 13: General Marius dies in combat defending the realm of Naiarkar from an
|
||||
invasion of Levlen crusaders.
|
||||
- 22: The Grand Patriarch becomes the Champion of the Kenaia Colloseum.
|
||||
- 29: Project Abyss begins.
|
||||
|
|
|
|||
BIN
models/Boolet.png
Normal file
BIN
models/Boolet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
BIN
models/Boolet_a.3d
Normal file
BIN
models/Boolet_a.3d
Normal file
Binary file not shown.
BIN
models/Boolet_d.3d
Normal file
BIN
models/Boolet_d.3d
Normal file
Binary file not shown.
|
|
@ -317,6 +317,7 @@ demolitionist/kick3 sounds/demolitionist/demokick3.ogg
|
|||
$random demolitionist/kick { demolitionist/kick1 demolitionist/kick2 demolitionist/kick3 }
|
||||
demolitionist/revive sounds/demolitionist/demorevive.ogg
|
||||
demolitionist/youdied sounds/demolitionist/demoded.ogg
|
||||
demolitionist/parry sounds/demolitionist/demoparry.ogg
|
||||
|
||||
$playersound demolitionist neutral *grunt DSEMPTY
|
||||
$playeralias demolitionist neutral *pain100 demolitionist/lopain
|
||||
|
|
@ -614,6 +615,11 @@ misc/waterexit sounds/general/surfaceb.ogg
|
|||
misc/slimeexit sounds/general/GoopE1.ogg
|
||||
misc/lavaexit sounds/general/LavaE1.ogg
|
||||
|
||||
misc/ricochet1 sounds/general/ric1.ogg
|
||||
misc/ricochet2 sounds/general/ric2.ogg
|
||||
misc/ricochet3 sounds/general/ric3.ogg
|
||||
$random misc/ricochet { misc/ricochet1 misc/ricochet2 misc/ricochet3 }
|
||||
|
||||
armor/blastsuit sounds/items/blastsuit.ogg
|
||||
armor/wararmor sounds/items/wararmor.ogg
|
||||
armor/hit1 sounds/items/hullhit.ogg
|
||||
|
|
|
|||
BIN
sounds/demolitionist/demoparry.ogg
Normal file
BIN
sounds/demolitionist/demoparry.ogg
Normal file
Binary file not shown.
BIN
sounds/general/ric1.ogg
Normal file
BIN
sounds/general/ric1.ogg
Normal file
Binary file not shown.
BIN
sounds/general/ric2.ogg
Normal file
BIN
sounds/general/ric2.ogg
Normal file
Binary file not shown.
BIN
sounds/general/ric3.ogg
Normal file
BIN
sounds/general/ric3.ogg
Normal file
Binary file not shown.
|
|
@ -911,7 +911,9 @@ Class Eviscerator : SWWMWeapon
|
|||
return A_JumpIf(invoker.extended,"User1Ext");
|
||||
}
|
||||
XZW8 WXYZ 2;
|
||||
XZW9 ABCD 2;
|
||||
XZW9 AB 2;
|
||||
XZW9 C 2 A_Parry(8);
|
||||
XZW9 D 2;
|
||||
XZW9 E 2 A_Melee(60);
|
||||
XZW9 FGH 2;
|
||||
XZW9 I 2 A_StartSound("eviscerator/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
|
|
@ -919,7 +921,9 @@ Class Eviscerator : SWWMWeapon
|
|||
Goto Ready;
|
||||
User1Ext:
|
||||
XZW4 Z 2;
|
||||
XZWA NOPQRSTU 2;
|
||||
XZWA NOPQRS 2;
|
||||
XZWA T 2 A_Parry(8);
|
||||
XZWA U 2;
|
||||
XZWA V 2 A_Melee(60);
|
||||
XZWA WXY 2;
|
||||
XZWA Z 2 A_StartSound("eviscerator/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ Class DeepImpact : SWWMWeapon
|
|||
XZW2 A 3 A_StartSound("demolitionist/wswing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
XZW4 H 4 A_StartSound("demolitionist/reloadbeg",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
XZW4 I 3;
|
||||
XZW4 J 2;
|
||||
XZW4 J 2 A_Parry(8);
|
||||
XZW4 KLM 1;
|
||||
XZW4 N 3 A_Melee(60);
|
||||
XZW4 O 3 { invoker.PlayUpSound(self); }
|
||||
|
|
|
|||
|
|
@ -447,10 +447,98 @@ Class BigPunchImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class ParryField : Actor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+SHOOTABLE;
|
||||
+NONSHOOTABLE;
|
||||
+NOBLOOD;
|
||||
+DONTTHRUST;
|
||||
Health int.max;
|
||||
Mass int.max;
|
||||
Radius 20;
|
||||
Height 40;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
Super.Tick();
|
||||
if ( !master )
|
||||
{
|
||||
Destroy();
|
||||
return;
|
||||
}
|
||||
Vector3 x, y, z, origin;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(master.pitch,master.angle,master.roll);
|
||||
origin = level.Vec3Offset(master.Vec2OffsetZ(0,0,master.player.viewz),x*20-(0,0,20));
|
||||
SetOrigin(origin,true);
|
||||
// check for projectiles to deflect
|
||||
let ti = ThinkerIterator.Create("Actor");
|
||||
Actor a;
|
||||
while ( a = Actor(ti.Next()) )
|
||||
{
|
||||
if ( !a.bMISSILE || a.bTHRUACTORS || (a.target == master) || (level.Vec3Diff(a.pos,Vec3Offset(0,0,20)).length() > 80) ) continue;
|
||||
Vector3 vdir = a.vel;
|
||||
Vector3 dir = level.Vec3Diff(pos,a.pos).unit();
|
||||
if ( dir dot vdir > 0 ) continue; // already moving away
|
||||
// deflect directly to target
|
||||
if ( !Random[Parry](0,2) && a.target )
|
||||
dir = level.Vec3Diff(a.pos,a.target.Vec3Offset(0,0,a.target.height/2)).unit();
|
||||
// push away
|
||||
if ( a.bSEEKERMISSILE ) a.tracer = a.target;
|
||||
a.target = master;
|
||||
double mvel = a.vel.length();
|
||||
a.vel = dir*mvel*FRandom[Parry](1.,1.2);
|
||||
a.angle = atan2(dir.y,dir.x);
|
||||
a.pitch = asin(-dir.z);
|
||||
bool raging = !!master.FindInventory("RagekitPower");
|
||||
if ( raging ) a.vel *= 2.;
|
||||
let i = Spawn(raging?"BigPunchImpact":"PunchImpact",a.pos);
|
||||
i.target = master;
|
||||
i.angle = atan2(dir.y,dir.x);
|
||||
i.pitch = asin(-dir.z);
|
||||
A_StartSound("demolitionist/parry",CHAN_VOICE,CHANF_OVERLAP,.4);
|
||||
}
|
||||
if ( --special1 <= 0 ) Destroy();
|
||||
}
|
||||
|
||||
override bool CanCollideWith( Actor other, bool passive )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle )
|
||||
{
|
||||
if ( (flags&DMG_INFLICTOR_IS_PUFF) && (source != master) )
|
||||
{
|
||||
// TODO deflect hitscan
|
||||
// three options:
|
||||
// 1. just block the bullet, making it bounce off
|
||||
// 2. ricochet in random direction
|
||||
// 3. ricochet directly back to source
|
||||
A_StartSound("demolitionist/parry",CHAN_VOICE,CHANF_OVERLAP,.4);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
TNT1 A -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
// Base class for all SWWM Weapons
|
||||
Class SWWMWeapon : Weapon abstract
|
||||
{
|
||||
private int SWeaponFlags;
|
||||
Actor pfield; // instance of parry field for current melee attack
|
||||
|
||||
FlagDef NoFirstGive : SWeaponFlags, 0; // don't give ammo on first pickup (for weapons with a clip count)
|
||||
|
||||
|
|
@ -533,6 +621,16 @@ Class SWWMWeapon : Weapon abstract
|
|||
player.SetPSprite(PSP_FLASH,null);
|
||||
player.mo.BringUpWeapon();
|
||||
}
|
||||
action void A_Parry( int duration )
|
||||
{
|
||||
Vector3 x, y, z, origin;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),x*20-(0,0,20));
|
||||
if ( invoker.pfield ) invoker.pfield.Destroy();
|
||||
invoker.pfield = Spawn("ParryField",origin);
|
||||
invoker.pfield.master = self;
|
||||
invoker.pfield.special1 = duration;
|
||||
}
|
||||
private action bool TryMelee( double angle, int dmg )
|
||||
{
|
||||
FTranslatedLineTarget t;
|
||||
|
|
@ -583,14 +681,24 @@ Class SWWMWeapon : Weapon abstract
|
|||
}
|
||||
action void A_Melee( int dmg = 40 )
|
||||
{
|
||||
// temporarily disable parry field so we can trace through
|
||||
if ( invoker.pfield ) invoker.pfield.bSHOOTABLE = false;
|
||||
bool raging = CountInv("RagekitPower");
|
||||
int maxang = raging?18:12;
|
||||
for ( int i=0; i<maxang; i++ ) if ( TryMelee(angle+i*(45./16),dmg) || TryMelee(angle-i*(45./16),dmg) ) return;
|
||||
for ( int i=0; i<maxang; i++ )
|
||||
{
|
||||
if ( TryMelee(angle+i*(45./16),dmg) || TryMelee(angle-i*(45./16),dmg) )
|
||||
{
|
||||
if ( invoker.pfield ) invoker.pfield.bSHOOTABLE = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// check for walls instead
|
||||
FTranslatedLineTarget t;
|
||||
double slope = AimLineAttack(angle,DEFMELEERANGE,t,0.,ALF_CHECK3D);
|
||||
FLineTraceData d;
|
||||
LineTrace(angle,DEFMELEERANGE,slope,TRF_THRUACTORS,player.viewheight,data:d);
|
||||
if ( invoker.pfield ) invoker.pfield.bSHOOTABLE = true;
|
||||
if ( d.HitType == TRACE_HitNone ) return;
|
||||
Vector3 HitNormal = -d.HitDir;
|
||||
if ( d.HitType == TRACE_HitFloor )
|
||||
|
|
|
|||
|
|
@ -625,7 +625,8 @@ Class PusherWeapon : SWWMWeapon
|
|||
User1:
|
||||
XZW2 A 2 A_StartSound("demolitionist/wswing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
XZW5 ABCD 2;
|
||||
XZW5 EFGH 1;
|
||||
XZW5 E 1 A_Parry(8);
|
||||
XZW5 FGH 1;
|
||||
XZW5 I 0 A_Melee(70);
|
||||
XZW5 IJ 2;
|
||||
XZW5 K 2 { invoker.PlayUpSound(self); }
|
||||
|
|
|
|||
|
|
@ -2725,7 +2725,7 @@ Class Spreadgun : SWWMWeapon
|
|||
XZWJ QRSTUV 1;
|
||||
Goto ReadyFired;
|
||||
DummyMelee:
|
||||
TNT1 A 3;
|
||||
TNT1 A 3 A_Parry(6);
|
||||
TNT1 A 1 A_Melee();
|
||||
Stop;
|
||||
User1:
|
||||
|
|
|
|||
|
|
@ -531,7 +531,11 @@ Class ExplodiumGun : SWWMWeapon
|
|||
XZW2 A 1;
|
||||
XZW7 TU 1;
|
||||
User1Hold:
|
||||
XZW7 V 1 A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
XZW7 V 1
|
||||
{
|
||||
A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_Parry(6);
|
||||
}
|
||||
XZW7 WX 1;
|
||||
XZW7 Y 1 A_Melee();
|
||||
XZW7 Z 2;
|
||||
|
|
|
|||
|
|
@ -1115,7 +1115,11 @@ Class CandyGun : SWWMWeapon
|
|||
XZW2 A 1;
|
||||
XZW7 TU 1;
|
||||
User1Hold:
|
||||
XZW7 V 1 A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
XZW7 V 1
|
||||
{
|
||||
A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_Parry(6);
|
||||
}
|
||||
XZW7 WX 1;
|
||||
XZW7 Y 1 A_Melee();
|
||||
XZW7 Z 2;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue