|
|
Line 1: |
Line 1: |
− | Damageinfo is an object that's passed along whenever a player is damaged or dies. By intercepting this object, you can detect events in the game, or change the outcome of those events. Damageinfo can be accessed from within the callbacks [[Lua:player_ondamage|player_ondamage]] and [[Lua:player_onkilled|player_onkilled]].
| |
| | | |
− | ===Usage===
| |
− | CTakeDamageInfo:'' function''(''parameters'')
| |
− |
| |
− | ===Example===
| |
− | <pre>function player_ondamage( player, damageinfo )
| |
− |
| |
− | -- if no damageinfo do nothing
| |
− | if not damageinfo then return end
| |
− |
| |
− | local attacker = damageinfo:GetAttacker()
| |
− | local inflictor = damageinfo:GetInflictor()
| |
− |
| |
− | -- hunted has body armor on and only takes damage from certain things
| |
− | if player:GetTeamId() == Team.kBlue then
| |
− | local weapon = damageinfo:GetInflictor():GetClassName()
| |
− | local attacker_is_buildable = false
| |
− |
| |
− | if IsSentrygun(attacker) or IsDispenser(attacker) or IsSentrygun(inflictor) or IsDispenser(inflictor) then
| |
− | attacker_is_buildable = true
| |
− | end
| |
− | if attacker_is_buildable ~= true and weapon ~= "ff_weapon_sniperrifle" and weapon ~= "ff_weapon_crowbar" and weapon ~= "ff_projectile_dart" and weapon ~= "ff_weapon_knife" then
| |
− | damageinfo:ScaleDamage(0)
| |
− | else
| |
− | end
| |
− |
| |
− | -- hunted also has quad damage
| |
− | else
| |
− | if IsPlayer( attacker ) then
| |
− | attacker = CastToPlayer( attacker )
| |
− | if attacker:GetTeamId() == Team.kBlue and player:GetTeamId() ~= HUNTED_ALLIES_TEAM then
| |
− | damageinfo:ScaleDamage(4)
| |
− | attacker:AddFortPoints( POINTS_PER_HUNTED_ATTACK * 10, "Hunted Attack" )
| |
− | ConsoleToAll( "The Hunted, " .. attacker:GetName() .. ", dealt quad damage to" .. player:GetName() .. "!" )
| |
− | end
| |
− | end
| |
− | end
| |
− | end
| |
− | </pre>
| |
− |
| |
− | ===Functions===
| |
− | TODO: list parameters, return types, and descriptions
| |
− | GetAttacker
| |
− | GetInflictor
| |
− | GetDamage
| |
− | GetDamageForce
| |
− | GetDamagePosition
| |
− | GetDamageType
| |
− | GetAmmoType
| |
− | ScaleDamage
| |
− | SetDamage
| |
− |
| |
− | [[Category:Lua]]
| |
− | [[Category:Lua_Commands]]
| |