Creatures and Attack sounds: Difference between revisions

From PSwiki
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Attack Sound ==
== Attack Sound ==
Can be done in two ways:
For humanoid and creatures we consider that they can use melee or switch weapons. In the Combat_Montage of our player character, we have the attack animation. In the attack animation segment we have one events (Notify) at the start of type PSAnimNotifyAttackSound


1) For humanoid character that can switch weapons. In the Combat_Montage of our player character, we have the attack animation. In the attack animation segment we have one events (Notify) at the start of type PSAnimNotifyAttackSound
[[File:PSAnimNotify.png]]


[[File:PSAnimNotify.png]]


In psAttack::Attack() we create a soundID with this rule:<blockquote>
if the weapon is melee then use the race: <race>-4


In psAttack::Attack() we create a soundID = <race id (without gender)> - <Weapon skill>
otherwise use the weapon skill id: "w-" + <weapon skill>


Example: Stonehammer hitting with a Fist = 0-4
Example: Stonehammer hitting with a Fist = 0-4


this soundID is then sent to all clients this way: we call BroadcastAttackAnimation() to send it to all players in range, and then we call ReceiveAttackAnimation() on clients BP, this is then calling PlayPSAnimMontage()
Example: Stonehammer hitting with a sword = w-0</blockquote>this soundID is then sent to all clients this way: we call BroadcastAttackAnimation() to send it to all players in range, and then we call ReceiveAttackAnimation() on clients BP, this is then calling PlayPSAnimMontage()


Inside PlayPSAnimMontage() we use the soundid
Inside PlayPSAnimMontage() we use the soundid


The class used is UPSAnimNotifyAttackSound
The class used is UPSAnimNotifyAttackSound
2) For creatures than cannot swap weapons we just add the sound in the attack animation.
[[File:Trepor attack sound.png]]


== Hit sound ==
== Hit sound ==
When someone is hit.
When someone is hit.


in psAttack::AffectTarget() we create a soundID <Weapon Type> + "-" + <Material>
in psAttack::AffectTarget() we create a soundID <Weapon Type> + "-" + <Material> + <Hit>


Material is defined in [[Race infoTable]].skintype
Material is defined in [[Race infoTable]].skin_type


this soundID is then sent to all clients this way: we call BroacastCombatResult() to send it to all players in range, and then we call ReceiveCombatResult() on clients BP, this is then calling PlayPSAnimMontage()
Example: fist hitting carapare of a trepor: 4-3-1


In the Combat_Montage of the hit creature , example the trepor, we have one in the Hit animation of type PSAnimNotifyCombatResultSound
Example: sword getting blocked by flesh: 0-0-0


[[File:PSAnimCombatResults.png]]
this soundID is then sent to all clients this way: we call BroacastCombatResultSound() to send it to all players in range


The class used is  UPSAnimNotifyCombatResultSound
The hit sounds are decoupled from the hit animation because they need to play regardless.


== Death Sound ==
== Death Sound ==

Latest revision as of 22:34, 20 June 2023

Attack Sound

For humanoid and creatures we consider that they can use melee or switch weapons. In the Combat_Montage of our player character, we have the attack animation. In the attack animation segment we have one events (Notify) at the start of type PSAnimNotifyAttackSound


In psAttack::Attack() we create a soundID with this rule:

if the weapon is melee then use the race: <race>-4

otherwise use the weapon skill id: "w-" + <weapon skill>

Example: Stonehammer hitting with a Fist = 0-4

Example: Stonehammer hitting with a sword = w-0

this soundID is then sent to all clients this way: we call BroadcastAttackAnimation() to send it to all players in range, and then we call ReceiveAttackAnimation() on clients BP, this is then calling PlayPSAnimMontage()

Inside PlayPSAnimMontage() we use the soundid

The class used is UPSAnimNotifyAttackSound

Hit sound

When someone is hit.

in psAttack::AffectTarget() we create a soundID <Weapon Type> + "-" + <Material> + <Hit>

Material is defined in Race infoTable.skin_type

Example: fist hitting carapare of a trepor: 4-3-1

Example: sword getting blocked by flesh: 0-0-0

this soundID is then sent to all clients this way: we call BroacastCombatResultSound() to send it to all players in range

The hit sounds are decoupled from the hit animation because they need to play regardless.

Death Sound

If we want to have a sound when the creature dies, we have it in the Death Montage, on the death animation