home *** CD-ROM | disk | FTP | other *** search
- //------
- // PainHit
- //------
- //This differs from the regular pain.scr in that it will not play any extended pain animation...
- //mainly being used by the bazooka guys
-
- //println "Entering painhit.scr"
-
- // Location values, their meanings and the bones they correspond to:
- // -2 false positive: should return a miss
- // -1 General
- // 0 head
- // 1 helmet
- // 2 neck
- // 3 upper torso
- // 4 middle torso
- // 5 lower torso
- // 6 pelvis
- // 7 right upper arm
- // 8 left upper arm
- // 9 right upper leg
- // 10 left upper leg
- // 11 right lower arm
- // 12 left lower arm
- // 13 right lower leg
- // 14 left lower leg
- // 15 right hand
- // 16 left hand
- // 17 right foot
- // 18 left foot
-
- //=======================================================
- //=======================================================
- PainHitMain:
- waitexec anim/smoking.scr::SmokeRemoveCigarette
- waitexec anim/pain.scr::painglobals
-
- switch (self.position)
- {
- walk:
- run:
- stand:
- if (self.weapongroup == bazooka)
- {
- waitexec anim/painhit.scr::PainHitStandBazooka
- }
- else
- {
- waitexec anim/painhit.scr::PainHitStand
- }
- break
- knees:
- crouchwalk:
- crouchrun:
- crouch:
- waitexec anim/painhit.scr::PainHitCrouch
- break
- pronewalk:
- prone:
- waitexec anim/pain.scr::PainProne
- break
- crawl:
- floor:
- println "^~^~^ Pain hit for position " self.position " is unsupported - fix painhit.scr"
- waitexec anim/painhit.scr::PainHitCrouch
- break
- default:
- println "^~^~^ Pain hit default case for position " self.position " - fix painhit.scr"
- waitexec anim/painhit.scr::PainHitStand
- break
- }
- end
-
- //=======================================================
- //=======================================================
- PainHitStand:
- self.blendtime = 0.25
- switch(self.fact.location)
- {
- // Stand Straight
- case 3: // upper torso
- case 4: // middle torso
- case 5: // lower torso
- case 6: // pelvis
- if (self.fact.damage > 50)
- {
- self setmotionanim (self.weapongroup + "_stand_hit_uppertorso")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_stand_hit_lowertorso")
- self waittill flaggedanimdone
- }
- break
-
- // headshot
- case 1: // helmet
- case 0: // head
- case 2: // neck
- self setmotionanim (self.weapongroup + "_stand_hit_head")
- self waittill flaggedanimdone
- break
-
- // Stand Right
- case 7: // right upper arm
- case 11: // right lower arm
- case 15: // right hand
- self setmotionanim (self.weapongroup + "_stand_hit_rarm")
- self waittill flaggedanimdone
- break
-
- // Stand Left
- case 8: // left upper arm
- case 12: // left lower arm
- case 16: // left hand
- self setmotionanim (self.weapongroup + "_stand_hit_larm")
- self waittill flaggedanimdone
- break
-
- // Stand Knees
- case 9: // right upper leg
- case 13: // right lower leg
- case 17: // right foot
- case 10: // left upper leg
- case 14: // left lower leg
- case 18: // left foot
- self setmotionanim (self.weapongroup + "_stand_hit_leg")
- self waittill flaggedanimdone
- break
-
- default:
- //println "Painhitstand got hit in unknown location: " self.fact.location
- local.randnum = randomint 100
- if (local.randnum < 25)
- {
- self setmotionanim (self.weapongroup + "_stand_hit_leg")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 50)
- {
- self setmotionanim (self.weapongroup + "_stand_hit_rarm")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 75)
- {
- self setmotionanim (self.weapongroup + "_stand_hit_larm")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_stand_hit_lowertorso")
- self waittill flaggedanimdone
- }
- break
-
- }
- end
-
- //=======================================================
- //=======================================================
- PainHitStandBazooka:
- self.blendtime = 0.50
- switch(self.fact.location)
- {
- // Stand Straight
- case 3: // upper torso
- case 4: // middle torso
- case 5: // lower torso
- case 6: // pelvis
- if (self.fact.damage > 50)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_torso_med")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_hit_stand_torso_sm")
- self waittill flaggedanimdone
- }
- break
-
- // headshot
- case 1: // helmet
- case 0: // head
- case 2: // neck
- self setmotionanim (self.weapongroup + "_hit_stand_head")
- self waittill flaggedanimdone
- break
-
- // Stand Right
- case 7: // right upper arm
- case 11: // right lower arm
- case 15: // right hand
- if (self.fact.damage > 50)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_rarm_med")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_hit_stand_rarm_sm")
- self waittill flaggedanimdone
- }
- break
-
- // Stand Left
- case 8: // left upper arm
- case 12: // left lower arm
- case 16: // left hand
- if (self.fact.damage > 50)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_larm_med")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_hit_stand_larm_sm")
- self waittill flaggedanimdone
- }
- break
-
- // Stand Knees
- case 9: // right upper leg
- case 13: // right lower leg
- case 17: // right foot
- case 10: // left upper leg
- case 14: // left lower leg
- case 18: // left foot
- self setmotionanim (self.weapongroup + "_hit_stand_leg")
- self waittill flaggedanimdone
- break
-
- default:
- //println "Painhitstand got hit in unknown location: " self.fact.location
- local.randnum = randomint 100
- if (local.randnum < 25)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_leg")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 50)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_rarm_sm")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 75)
- {
- self setmotionanim (self.weapongroup + "_hit_stand_larm_sm")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_hit_stand_torso_sm")
- self waittill flaggedanimdone
- }
- break
-
- }
- end
-
- //=======================================================
- //=======================================================
- PainHitCrouch:
- self.blendtime = 0.50
- switch(self.fact.location)
- {
- // Stand Straight
- case 3: // upper torso
- case 4: // middle torso
- case 5: // lower torso
- case 6: // pelvis
- local.randnum = randomint 100
- if (local.randnum < 33)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_uppertorso")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 66)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_lowertorso")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_back")
- self waittill flaggedanimdone
- }
- break
-
- // headshot
- case 1: // helmet
- case 0: // head
- case 2: // neck
- self setmotionanim (self.weapongroup + "_crouch_hit_head")
- self waittill flaggedanimdone
- break
-
- // Stand Right
- case 7: // right upper arm
- case 11: // right lower arm
- case 15: // right hand
- self setmotionanim (self.weapongroup + "_crouch_hit_Rarm")
- self waittill flaggedanimdone
- break
-
- // Stand Left
- case 8: // left upper arm
- case 12: // left lower arm
- case 16: // left hand
- self setmotionanim (self.weapongroup + "_crouch_hit_Larm")
- self waittill flaggedanimdone
- break
-
- // Stand Knees
- case 9: // right upper leg
- case 13: // right lower leg
- case 17: // right foot
- case 10: // left upper leg
- case 14: // left lower leg
- case 18: // left foot
- self setmotionanim (self.weapongroup + "_crouch_hit_leg")
- self waittill flaggedanimdone
- break
-
- default:
- //println "Painhitcrouch got hit in unknown location: " self.fact.location
- local.randnum = randomint 100
- if (local.randnum < 25)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_leg")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 50)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_Larm")
- self waittill flaggedanimdone
- }
- else if (local.randnum < 75)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_Rarm")
- self waittill flaggedanimdone
- }
- else
- {
- local.randnum = randomint 100
- if (local.randnum < 50)
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_uppertorso")
- self waittill flaggedanimdone
- }
- else
- {
- self setmotionanim (self.weapongroup + "_crouch_hit_lowertorso")
- self waittill flaggedanimdone
- }
- }
- break
-
- }
- end