Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --100% copied from the actor hit function, with a few small changes
- function blowout_hit(npc)
- local psy_hit = hit()
- psy_hit.direction = vector():set(0,0,0)
- psy_hit.impulse = 0
- psy_hit.draftsman = npc
- local hit_scale = 1000 --since it's a single hit and it needs to seriously hurt/kill
- if npc:character_community() == "zombied" or npc:character_community() == "monolith" then
- hit_scale = 0.1
- end
- if level.name() == "l01_escape" then
- psy_hit.power = 0.0005 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l02_garbage" then
- psy_hit.power = 0.0008 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l03_agroprom" then
- psy_hit.power = 0.001 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l04_darkvalley" then
- psy_hit.power = 0.0012 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l05_bar" then
- psy_hit.power = 0.0015 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l06_rostok" then
- psy_hit.power = 0.002 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l08_yantar" then
- psy_hit.power = 0.003 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- psy_hit.power = 0.0001 * hit_scale
- psy_hit.type = hit.shock
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l07_military" then
- psy_hit.power = 0.005 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- psy_hit.power = 0.0002 * hit_scale
- psy_hit.type = hit.shock
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l10_radar" then
- psy_hit.power = 0.008 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- psy_hit.power = 0.0004 * hit_scale
- psy_hit.type = hit.shock
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- if level.name() == "l11_pripyat" then
- psy_hit.power = 0.01 * hit_scale
- psy_hit.type = hit.radiation
- npc:hit(psy_hit)
- psy_hit.power = 0.0007 * hit_scale
- psy_hit.type = hit.shock
- npc:hit(psy_hit)
- -- Extra damage
- psy_hit.type = hit.burn
- npc:hit(psy_hit)
- psy_hit.type = hit.chemical_burn
- npc:hit(psy_hit)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment