Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Elemental Combat System
Author Message
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #1
Elemental Combat System
Someone asked me if I could offer an elemental damage system (fire, cold, poison, energy, physical) that was complete for both weapon and spell based combat... so here it is:

Step 1: Do NOT enable the COMBAT_USE_RESISTANCE or COMBAT_SPECIALDAMAGE flags in the sphere.ini file.

Step 2: Make sure all monsters have appropriate "resistances" set in their @Create triggers. For example:

Code:
RESCOLD={15 25}
RESENERGY={15 25}
RESFIRE={15 25}
RESPOISON={15 25}

These numbers are percentages of resistance to each type of damage, and ideally they should add up to less than 100. If the total of these 4 settings is less than 100, the remainder is considered resistance to physical damage.

Step 3: To make a monster cause elemental damage when they hit someone, add these tags to their @Create trigger. For example:

Code:
TAG.ColdDamagePercent=20
TAG.EnergyDamagePercent=20
TAG.FireDamagePercent=20
TAG.PoisonDamagePercent=20
TAG.PhysicalDamagePercent=20

Note, like the resistances, these are also percentages and should not exceed 100. Also, if they add up to less than 100, the remainder is considered physical.

Each monster (and player) needs to have the following event code:

Code:
[FUNCTION f_combatlog]
IF (<EVAL <DEF.CombatLogging>> >= <ARGV[0]>)
   SERV.LOG <ARGV[1]>
ENDIF

[DEFNAME combat_system]
// To enable higher and higher logging of the combat system, set this number as high as 4
CombatLogging=0

[EVENTS e_combat_effects_npcs]
// This event is installed on all players and NPCs
// The combat modifier tags are all assumed to be on the player/NPC

ON=@GetHit
//
// Default is the person getting hit
// SRC     is the source of the damage
// ARGN1   is the amount of damage to be dealt. This value can be rewritten.
//         This is before AR and other variables
// ARGN2   is the type of damage dealt
//
// NOTE: ARGN1 is the max possible damage to be dealt ... the target armor
//       and other possible damage reducing effects will alter the actual
//       damage result.

   //Prevent damage to self... especially since elementals drop fire and walk into it all the time!
   IF (<UID>==<SRC>) && !(<ARGN2> & <DEF.dam_god>)
      f_CombatLog 1 "GetHit: <SRC.NAME>'s (<SRC>) damage to self was blocked."
      RETURN 1
   ENDIF

//   //Prevent damage when attacker is inside a guarded zone and defender is out
//   IF (<SRC.REGION.FLAGS> & region_flag_guarded) && !(<REGION.FLAGS> & region_flag_guarded)
//      f_CombatLog 1 "GetHit: damage blocked due to region flag mismatch."
//      RETURN 0
//   ENDIF

//   //Show damage your pet does as though you did the damage (FIXME: this stopped working!)
//   IF (<SRC.OWNER>)
//      TRYSRC <SRC.OWNER> SRC.SENDPACKET 0bf W11 W022 01 D<UID> <EVAL <ARGN1>>
//   ENDIF

   f_CombatLog 1 "GetHit Begins: <NAME>(<UID>) gets hit by <SRC.NAME>(<SRC>) using a <ARGO.NAME>(<ARGO.UID>)"
   f_CombatLog 1 "- Before Mod:  Max Damage=<EVAL <ARGN1>> Type=<HVAL <ARGN2>> Difficulty=<EVAL <ARGN3>>"

   //Pass godlike damage on without processing it:
   IF (<ARGN2> & <DEF.dam_god>)
      f_CombatLog 1 "GetHit: God damage: <NAME>(<UID>) gets hit for <ARGN1> damage by <SRC.NAME>(<SRC>) using a <ARGO.NAME>(<ARGO.UID>)"
      RETURN 0
   ENDIF

   //Handle damage resulting from spells (this assumes the SPELL definitions have SPELLFLAG_HARM and SPELLFLAG_DAMAGE FLAGS properly set)
   IF (<ARGN2> & <DEF.dam_magic>)
      f_CombatLog 2 "-- Magic damage detected"
      ARGN2=<DEF.dam_magic>
      LOCAL.TotalMagicDamage=<ARGN1>
   ELSE
      f_CombatLog 2 "-- No magic damage detected"
      IF (<ARGN2> & <DEF.dam_physical>) || (<ARGN2> & <DEF.dam_general>) || (<ARGN2> & <DEF.dam_slash>) || (<ARGN2> & <DEF.dam_pierce>)
         LOCAL.TotalPhysicalDamage=<ARGN1>
      ENDIF
      IF (<ARGN2> & <DEF.dam_poison>) || (<ARGN2> & <DEF.dam_acidic>)
         LOCAL.TotalPoisonDamage=<ARGN1>
      ENDIF
      IF (<ARGN2> & <DEF.dam_fire>)
         LOCAL.TotalFireDamage=<ARGN1>
      ENDIF
      IF (<ARGN2> & <DEF.dam_lightning>) || (<ARGN2> & <DEF.dam_drain>) || (<ARGN2> & <DEF.dam_energy>)
         LOCAL.TotalEnergyDamage=<ARGN1>
      ENDIF
      IF (<ARGN2> & <DEF.dam_cold>) || (<ARGN2> & <DEF.dam_cold_old>) || (<ARGN2> & <DEF.dam_cold_new>)
         LOCAL.TotalColdDamage=<ARGN1>
      ENDIF

      ARGN2=<DEF.dam_physical>
      LOCAL.TotalDamagePercent=<EVAL <LOCAL.TotalPhysicalDamage>+<LOCAL.TotalPoisonDamage>+<LOCAL.TotalFireDamage>+<LOCAL.TotalEnergyDamage>+<LOCAL.TotalColdDamage>+<LOCAL.TotalMagicDamage>>
  
      IF (<LOCAL.TotalPhysicalDamage>)
         LOCAL.TotalPhysicalDamage=<EVAL (<LOCAL.TotalPhysicalDamage> * <LOCAL.TotalPhysicalDamage>) / <LOCAL.TotalDamagePercent>>
      ENDIF
      IF (<LOCAL.TotalFireDamage>)
         LOCAL.TotalFireDamage=<EVAL (<LOCAL.TotalFireDamage> * <LOCAL.TotalFireDamage>) / <LOCAL.TotalDamagePercent>>
      ENDIF
      IF (<LOCAL.TotalColdDamage>)
         LOCAL.TotalColdDamage=<EVAL (<LOCAL.TotalColdDamage> * <LOCAL.TotalColdDamage>) / <LOCAL.TotalDamagePercent>>
      ENDIF
      IF (<LOCAL.TotalEnergyDamage>)
         LOCAL.TotalEnergyDamage=<EVAL (<LOCAL.TotalEnergyDamage> * <LOCAL.TotalEnergyDamage>) / <LOCAL.TotalDamagePercent>>
      ENDIF
      IF (<LOCAL.TotalPoisonDamage>)
         LOCAL.TotalPoisonDamage=<EVAL (<LOCAL.TotalPoisonDamage> * <LOCAL.TotalPoisonDamage>) / <LOCAL.TotalDamagePercent>>
      ENDIF
  
      LOCAL.TotalDamage=<EVAL <LOCAL.TotalPhysicalDamage>+<LOCAL.TotalFireDamage>+<LOCAL.TotalColdDamage>+<LOCAL.TotalEnergyDamage>+<LOCAL.TotalPoisonDamage>>
  
      f_CombatLog 3 "-->  If damage flags are used, damage gets spread like this:"
      f_CombatLog 3 "--> Total Physical damage: <dLOCAL.TotalPhysicalDamage>"
      f_CombatLog 3 "--> Total Fire damage:     <dLOCAL.TotalFireDamage>"
      f_CombatLog 3 "--> Total Cold damage:     <dLOCAL.TotalColdDamage>"
      f_CombatLog 3 "--> Total Energy damage:   <dLOCAL.TotalEnergyDamage>"
      f_CombatLog 3 "--> Total Poison damage:   <dLOCAL.TotalPoisonDamage>"
      f_CombatLog 3 "-->  Grand Total damage:   <dLOCAL.TotalDamage>"
//END Calculations using damage flags...

//BEGIN Calculations using attacker tags...
      LOCAL.TotalPhysicalDamage=
      LOCAL.TotalPoisonDamage=
      LOCAL.TotalFireDamage=
      LOCAL.TotalEnergyDamage=
      LOCAL.TotalColdDamage=
      IF (<SRC.TAG0.PhysicalDamagePercent>)
         LOCAL.TotalPhysicalDamage=<SRC.TAG.PhysicalDamagePercent>
      ENDIF
      IF (<SRC.TAG0.PoisonDamagePercent>)
         LOCAL.TotalPoisonDamage=<SRC.TAG.PoisonDamagePercent>
      ENDIF
      IF (<SRC.TAG0.FireDamagePercent>)
         LOCAL.TotalFireDamage=<SRC.TAG0.FireDamagePercent>
      ENDIF
      IF (<SRC.TAG0.EnergyDamagePercent>)
         LOCAL.TotalEnergyDamage=<SRC.TAG0.EnergyDamagePercent>
      ENDIF
      IF (<SRC.TAG0.ColdDamagePercent>)
         LOCAL.TotalColdDamage=<SRC.TAG0.ColdDamagePercent>
      ENDIF

      LOCAL.TotalDamagePercent=<EVAL <LOCAL.TotalPhysicalDamage>+<LOCAL.TotalPoisonDamage>+<LOCAL.TotalFireDamage>+<LOCAL.TotalEnergyDamage>+<LOCAL.TotalColdDamage>+<LOCAL.TotalMagicDamage>>
  
      IF (<LOCAL.TotalDamagePercent> < 100)
         LOCAL.TotalPhysicalDamage=<EVAL 100 - <LOCAL.TotalDamagePercent>>
         LOCAL.TotalDamagePercent += <EVAL 100 - <LOCAL.TotalDamagePercent>>
      ENDIF

      IF (<LOCAL.TotalPhysicalDamage>)
         LOCAL.TotalPhysicalDamage=<EVAL (<ARGN1> * 100 * <LOCAL.TotalPhysicalDamage>) / (<LOCAL.TotalDamagePercent> * 100)>
      ENDIF
      IF (<LOCAL.TotalFireDamage>)
         LOCAL.TotalFireDamage=<EVAL (<ARGN1> * 100 * <LOCAL.TotalFireDamage>) / (<LOCAL.TotalDamagePercent> * 100)>
      ENDIF
      IF (<LOCAL.TotalColdDamage>)
         LOCAL.TotalColdDamage=<EVAL (<ARGN1> * 100 * <LOCAL.TotalColdDamage>) / (<LOCAL.TotalDamagePercent> * 100)>
      ENDIF
      IF (<LOCAL.TotalEnergyDamage>)
         LOCAL.TotalEnergyDamage=<EVAL (<ARGN1> * 100 * <LOCAL.TotalEnergyDamage>) / (<LOCAL.TotalDamagePercent> * 100)>
      ENDIF
      IF (<LOCAL.TotalPoisonDamage>)
         LOCAL.TotalPoisonDamage=<EVAL (<ARGN1> * 100 * <LOCAL.TotalPoisonDamage>) / (<LOCAL.TotalDamagePercent> * 100)>
      ENDIF
  
      LOCAL.TotalDamage=<EVAL <LOCAL.TotalPhysicalDamage>+<LOCAL.TotalFireDamage>+<LOCAL.TotalColdDamage>+<LOCAL.TotalEnergyDamage>+<LOCAL.TotalPoisonDamage>+<LOCAL.TotalMagicDamage>>
  
      f_CombatLog 3 "-->  If attacker tags are used, damage gets spread like this:"
      f_CombatLog 3 "--> Total Physical damage: <dLOCAL.TotalPhysicalDamage>"
      f_CombatLog 3 "--> Total Fire damage:     <dLOCAL.TotalFireDamage>"
      f_CombatLog 3 "--> Total Cold damage:     <dLOCAL.TotalColdDamage>"
      f_CombatLog 3 "--> Total Energy damage:   <dLOCAL.TotalEnergyDamage>"
      f_CombatLog 3 "--> Total Poison damage:   <dLOCAL.TotalPoisonDamage>"
      f_CombatLog 3 "-->  Grand Total damage:   <dLOCAL.TotalDamage>"
//END Calculations using damage flags...
   ENDIF

   IF (<LOCAL.TotalMagicDamage>)
      //FIXME: Allow magic damage to be resisted
      LOCAL.Chance=<EVAL (<MAGICRESISTANCE> - <SRC.MAGERY>) / 10>
      IF (<LOCAL.Chance> < <EVAL <DEF.MinMagicResistChance>>)
         LOCAL.Chance=<EVAL <DEF.MinMagicResistChance>>
      ENDIF
      IF (<R100> < <EVAL <LOCAL.Chance>>)
         SRC.SYSMESSAGE @color_text <NAME> resisted the magic in your attack!
         f_CombatLog 2 "-- Magic resistance skill effect."
         f_CombatLog 3 "--- Initial Magic damage: <dLOCAL.TotalMagicDamage> (reduced by <dLOCAL.Chance> percent)"
         LOCAL.TotalMagicDamage -= <EVAL (<LOCAL.TotalMagicDamage> * <LOCAL.Chance>) / 100>
         f_CombatLog 3 "--- Resulting Magic damage: <dLOCAL.TotalMagicDamage>"
      ENDIF
   ELSE
      IF (<LOCAL.TotalPhysicalDamage>)
         IF (<AR> > 70) && !(<NPC>)
            LOCAL.EffectivePhysicalResist=70
            f_CombatLog 3 "--- Effective Physical Resist dropped from <AR> to <dLOCAL.EffectivePhysicalResist>"
         ELSE
            LOCAL.EffectivePhysicalResist=<AR>
         ENDIF
         f_CombatLog 3 "--- Initial Physical damage: <dLOCAL.TotalPhysicalDamage> (reduced by <dLOCAL.EffectivePhysicalResist> percent)"
         LOCAL.TotalPhysicalDamage -= <EVAL (<LOCAL.TotalPhysicalDamage> * <LOCAL.EffectivePhysicalResist>) / 100>
         f_CombatLog 3 "--- Resulting Physical damage: <dLOCAL.TotalPhysicalDamage>"
         IF (<TAG0.ReflectPhysicalDamage>)
            IF (<TAG0.ReflectPhysicalDamage> > <EVAL <DEF.MaxReflectPhysicalDamage>>)
               LOCAL.Chance=<DEF.MaxReflectPhysicalDamage>
            ELSE
               LOCAL.Chance=<TAG0.ReflectPhysicalDamage>
            ENDIF
            LOCAL.ReflectResult=<EVAL (<LOCAL.TotalPhysicalDamage> * <LOCAL.Chance>) / 100>
            IF (<LOCAL.ReflectResult> > 0)
               f_CombatLog 2 "-- ReflectPhysicalDamage effect: <dLOCAL.ReflectResult> damage back to <SRC.NAME>"
               SRC.DAMAGE <LOCAL.ReflectResult> <DEF.dam_physical> <UID>
            ENDIF
            //FIXME: Test what happens when both combatants have reflection!!!
         ENDIF
      ENDIF
      IF (<LOCAL.TotalFireDamage>)
         IF (<RESFire> > 70) && !(<NPC>)
            LOCAL.EffectiveFireResist=70
            f_CombatLog 3 "--- Effective Fire Resist dropped from <dRESFire> to <dLOCAL.EffectiveFireResist>"
         ELSE
            LOCAL.EffectiveFireResist=<RESFire>
         ENDIF
         f_CombatLog 3 "--- Initial Fire damage: <dLOCAL.TotalFireDamage> (reduced by <dLOCAL.EffectiveFireResist> percent)"
         LOCAL.TotalFireDamage -= <EVAL (<LOCAL.TotalFireDamage> * <LOCAL.EffectiveFireResist>) / <LOCAL.TotalDamagePercent>>
         f_CombatLog 3 "--- Resulting Fire damage: <dLOCAL.TotalFireDamage>"
      ENDIF
      IF (<LOCAL.TotalColdDamage>)
         IF (<RESCold> > 70) && !(<NPC>)
            LOCAL.EffectiveColdResist=70
            f_CombatLog 3 "--- Effective Cold Resist dropped from <dRESCold> to <dLOCAL.EffectiveColdResist>"
         ELSE
            LOCAL.EffectiveColdResist=<RESCold>
         ENDIF
         f_CombatLog 3 "--- Initial Cold damage: <dLOCAL.TotalColdDamage> (reduced by <dLOCAL.EffectiveColdResist> percent)"
         LOCAL.TotalColdDamage -= <EVAL (<LOCAL.TotalColdDamage> * <LOCAL.EffectiveColdResist>) / <LOCAL.TotalDamagePercent>>
         f_CombatLog 3 "--- Resulting Cold damage: <dLOCAL.TotalColdDamage>"
      ENDIF
      IF (<LOCAL.TotalEnergyDamage>)
         IF (<RESEnergy> > 70) && !(<NPC>)
            LOCAL.EffectiveEnergyResist=70
            IF (<RESEnergy> > 75) && (<f_isElf>)
               LOCAL.EffectiveEnergyResist=75
            ELSE
               LOCAL.EffectiveEnergyResist=<RESEnergy>
            ENDIF
            f_CombatLog 3 "--- Effective Energy Resist dropped from <dRESEnergy> to <dLOCAL.EffectiveEnergyResist>"
         ELSE
            LOCAL.EffectiveEnergyResist=<RESEnergy>
         ENDIF
         f_CombatLog 3 "--- Initial Energy damage: <dLOCAL.TotalEnergyDamage> (reduced by <dLOCAL.EffectiveEnergyResist> percent)"
         LOCAL.TotalEnergyDamage -= <EVAL (<LOCAL.TotalEnergyDamage> * <LOCAL.EffectiveEnergyResist>) / <LOCAL.TotalDamagePercent>>
         f_CombatLog 3 "--- Resulting Energy damage: <dLOCAL.TotalEnergyDamage>"
      ENDIF
      IF (<LOCAL.TotalPoisonDamage>)
         IF (<RESPoison> > 70) && !(<NPC>)
            LOCAL.EffectivePoisonResist=70
            f_CombatLog 3 "--- Effective Poison Resist dropped from <dRESPoison> to <dLOCAL.EffectivePoisonResist>"
         ELSE
            LOCAL.EffectivePoisonResist=<RESPoison>
         ENDIF
         f_CombatLog 3 "--- Initial Poison damage: <dLOCAL.TotalPoisonDamage> (reduced by <dLOCAL.EffectivePoisonResist> percent)"
         LOCAL.TotalPoisonDamage -= <EVAL (<LOCAL.TotalPoisonDamage> * <LOCAL.EffectivePoisonResist>) / <LOCAL.TotalDamagePercent>>
         f_CombatLog 3 "--- Resulting Poison damage: <dLOCAL.TotalPoisonDamage>"
      ENDIF
   ENDIF

   LOCAL.TotalDamage=<EVAL <LOCAL.TotalPhysicalDamage>+<LOCAL.TotalFireDamage>+<LOCAL.TotalColdDamage>+<LOCAL.TotalEnergyDamage>+<LOCAL.TotalPoisonDamage>+<LOCAL.TotalMagicDamage>>

   f_CombatLog 3 "-->  Damage after modifications are made:"
   f_CombatLog 3 "--> Total Physical damage: <dLOCAL.TotalPhysicalDamage>"
   f_CombatLog 3 "--> Total Fire damage:     <dLOCAL.TotalFireDamage>"
   f_CombatLog 3 "--> Total Cold damage:     <dLOCAL.TotalColdDamage>"
   f_CombatLog 3 "--> Total Energy damage:   <dLOCAL.TotalEnergyDamage>"
   f_CombatLog 3 "--> Total Poison damage:   <dLOCAL.TotalPoisonDamage>"
   f_CombatLog 3 "--> Total Magic damage:    <dLOCAL.TotalMagicDamage>"
   f_CombatLog 3 "-->  Grand Total damage:   <dLOCAL.TotalDamage>"

   ARGN1=<EVAL <LOCAL.TotalDamage>>

   f_CombatLog 1 "- After Mods:  Max Damage=<EVAL <ARGN1>> Type=<HVAL <ARGN2>> Difficulty=<EVAL <ARGN3>>"
06-21-2014 03:46 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 2 users Like RanXerox's post
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #2
RE: Elemental Combat System
nice, mine elemental combat engine is quite similar but I'm using @Hit instead @GetHit

also I'm using the real OSI damage type on spells (eg: magic arrow -> 100% fire damage, etc), if you want just copy/paste
PS: I'm parsing multiple types % at once using this order: physical,fire,cold,poison,energy
Code:
[DEFNAME Spell_Damage_Types]
//Physical
SpellDamType.57        100,0,0,0,0    //Earthquake
//Fire
SpellDamType.5        0,100,0,0,0    //Magic Arrow
SpellDamType.18        0,100,0,0,0    //Fireball
SpellDamType.28        0,100,0,0,0    //Fire Field
SpellDamType.43        0,100,0,0,0    //Explosion
SpellDamType.51        0,100,0,0,0    //Flamestrike
SpellDamType.55        0,100,0,0,0    //Meteor Swarm
//Cold
SpellDamType.12        0,0,100,0,0    //Harm
SpellDamType.37        0,0,100,0,0    //Mind Blast
//Poison
SpellDamType.20        0,0,0,100,0    //Poison
SpellDamType.39        0,0,0,100,0    //Poison Field
//Energy
SpellDamType.30        0,0,0,0,100    //Lightning
SpellDamType.42        0,0,0,0,100    //Energy Bolt
SpellDamType.49        0,0,0,0,100    //Chain Lightning
06-21-2014 05:52 AM
Find all posts by this user Like Post Quote this message in a reply
Extreme
Grandmaster Poster
***

Posts: 1,140
Likes Given: 217
Likes Received: 89 in 76 posts
Joined: May 2012
Reputation: 20

SphereCommunity

Post: #3
RE: Elemental Combat System
Why not use RES*/DAM* (Physical, Fire, Cold, Poison, Energy)?

STEPS BEFORE CREATE A THREAD
- Check the revisions log;
- Use the search button and use the keywords of your problem;
- Check the WIKI;
- Create a thread.
06-21-2014 06:27 AM
Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #4
RE: Elemental Combat System
RES* is already used, but DAM* on sphere works in a strange way

DAMAGE=20
DAMFIRE=10 <- instead count this as +10% of the 20 base damage (18 physical damage + 2 fire damage), sphere counts this as +10 aditional damage (20 physical damage + 10 fire damage)

that's why we need disable COMBAT_USE_RESISTANCE / COMBAT_SPECIALDAMAGE to use custom formulas :/
(This post was last modified: 06-21-2014 10:12 AM by Coruja.)
06-21-2014 10:03 AM
Find all posts by this user Like Post Quote this message in a reply
MirroR
Apprentice
*

Posts: 36
Likes Given: 4
Likes Received: 5 in 5 posts
Joined: Apr 2012
Reputation: 1

Resty of Abyss

Post: #5
RE: Elemental Combat System
Is there anything wrong I wonder?
Those on weapons.

PHP Code:
TAG.ColdDamagePercent=20
TAG
.EnergyDamagePercent=20
TAG
.FireDamagePercent=20
TAG
.PoisonDamagePercent=20
TAG
.PhysicalDamagePercent=20 

PHP Code:
[TYPEDEF T_OZAN]
On=@ClientTooltip
IF (<TAG0.PhysicalDamagePercent>)
SRC.ADDCLILOC 1060403,<dTAG.PhysicalDamagePercent>
ENDIF
IF (<
TAG0.FireDamagePercent>)
SRC.ADDCLILOC 1060405,<dTAG.FireDamagePercent>
ENDIF
IF (<
TAG0.ColdDamagePercent>)
SRC.ADDCLILOC 1060404,<dTAG.ColdDamagePercent>
ENDIF
IF (<
TAG0.PoisonDamagePercent>)
SRC.ADDCLILOC 1060406,<dTAG.PoisonDamagePercent>
ENDIF
IF (<
TAG0.EnergyDamagePercent>)
SRC.ADDCLILOC 1060407,<dTAG.EnergyDamagePercent>
ENDIF

ON=@EquipTest
IF (<TAG0.PhysicalDamagePercent>)
    
SRC.TAG.PhysicalDamagePercent += <TAG0.PhysicalDamagePercent>
ENDIF
IF (<
TAG0.FireDamagePercent>)
    
SRC.TAG.FireDamagePercent += <TAG0.FireDamagePercent>
ENDIF
IF (<
TAG0.ColdDamagePercent>)
    
SRC.TAG.ColdDamagePercent += <TAG0.ColdDamagePercent>
ENDIF
IF (<
TAG0.PoisonDamagePercent>)
    
SRC.TAG.PoisonDamagePercent += <TAG0.PoisonDamagePercent>
ENDIF
IF (<
TAG0.EnergyDamagePercent>)
    
SRC.TAG.EnergyDamagePercent += <TAG0.EnergyDamagePercent>
ENDIF 

PHP Code:
06:32:WARNING:d:Unknown game packet (0x8creceived.
06:32:WARNING:10:Unknown game packet (0x62received.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:WARNING:10:Unknown game packet (0x50received.
06:32:WARNING:d:Unknown game packet (0x3dreceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=14 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=17 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0x7breceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=12 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=12 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=22 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=21 Type=02 Difficulty=0"
06:32:WARNING:10:Unknown game packet (0x53received.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=21 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=20 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:WARNING:10:Unknown game packet (0x74received.
06:32:WARNING:10:Unknown game packet (0xcareceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:WARNING:10:Unknown game packet (0x60received.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=10 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=14 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0x5ereceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=12 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=12 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0xafreceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=16 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=17 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0x11received.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=11 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=21 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=20 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=18 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0xdcreceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=12 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=16 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=14 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0xeareceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=11 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=11 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0xcreceived.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=10 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=14 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:32:WARNING:d:Unknown game packet (0xa8received.
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:32:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:32:(combat_events.scp,3)"- Before Mod:  Max Damage=10 Type=0402 Difficulty=0"
06:32:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0xc5received.
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=10 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0xbareceived.
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=17 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=16 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0xe4received.
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=20 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=19 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=18 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=12 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0x90received.
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=21 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=20 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0xa9received.
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=12 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=10 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=14 Type=02 Difficulty=0"
06:33:WARNING:d:Unknown game packet (0x47received.
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=14 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=17 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: sad(01dc2) gets hit by ozan(01dd6) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
06:33:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by sad(01dc2) using a 0(0)"
06:33:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
06:33:(combat_events.scp,3)"- After Mods:  Max Damage=14 Type=02 Difficulty=0" 

PHP Code:
13:56:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by harpy(01d90) using a 0(0)"
13:56:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"-- No magic damage detected"
13:56:(combat_events.scp,3)"-->  If damage flags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 19"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   19"
13:56:(combat_events.scp,3)"-->  If attacker tags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 19"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   19"
13:56:(combat_events.scp,3)"--- Initial Physical damage: 19 (reduced by 8 percent)"
13:56:(combat_events.scp,3)"--- Resulting Physical damage: 18"
13:56:(combat_events.scp,3)"-->  Damage after modifications are made:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 18"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"--> Total Magic damage:    0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   18"
13:56:(combat_events.scp,3)"- After Mods:  Max Damage=18 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by harpy(01d90) using a 0(0)"
13:56:(combat_events.scp,3)"- Before Mod:  Max Damage=14 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"-- No magic damage detected"
13:56:(combat_events.scp,3)"-->  If damage flags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 14"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   14"
13:56:(combat_events.scp,3)"-->  If attacker tags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 14"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   14"
13:56:(combat_events.scp,3)"--- Initial Physical damage: 14 (reduced by 8 percent)"
13:56:(combat_events.scp,3)"--- Resulting Physical damage: 13"
13:56:(combat_events.scp,3)"-->  Damage after modifications are made:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 13"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"--> Total Magic damage:    0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   13"
13:56:(combat_events.scp,3)"- After Mods:  Max Damage=13 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by harpy(01d90) using a 0(0)"
13:56:(combat_events.scp,3)"- Before Mod:  Max Damage=15 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"-- No magic damage detected"
13:56:(combat_events.scp,3)"-->  If damage flags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 15"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   15"
13:56:(combat_events.scp,3)"-->  If attacker tags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 15"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   15"
13:56:(combat_events.scp,3)"--- Initial Physical damage: 15 (reduced by 8 percent)"
13:56:(combat_events.scp,3)"--- Resulting Physical damage: 14"
13:56:(combat_events.scp,3)"-->  Damage after modifications are made:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 14"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"--> Total Magic damage:    0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   14"
13:56:(combat_events.scp,3)"- After Mods:  Max Damage=14 Type=02 Difficulty=0"
13:56:WARNING:9:Unknown game packet (0x79received.
13:56:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by harpy(01d90) using a 0(0)"
13:56:(combat_events.scp,3)"- Before Mod:  Max Damage=17 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"-- No magic damage detected"
13:56:(combat_events.scp,3)"-->  If damage flags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 17"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   17"
13:56:(combat_events.scp,3)"-->  If attacker tags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 17"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   17"
13:56:(combat_events.scp,3)"--- Initial Physical damage: 17 (reduced by 8 percent)"
13:56:(combat_events.scp,3)"--- Resulting Physical damage: 16"
13:56:(combat_events.scp,3)"-->  Damage after modifications are made:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 16"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"--> Total Magic damage:    0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   16"
13:56:(combat_events.scp,3)"- After Mods:  Max Damage=16 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"GetHit Begins: ozan(01dd6) gets hit by harpy(01d90) using a 0(0)"
13:56:(combat_events.scp,3)"- Before Mod:  Max Damage=19 Type=02 Difficulty=0"
13:56:(combat_events.scp,3)"-- No magic damage detected"
13:56:(combat_events.scp,3)"-->  If damage flags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 19"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   19"
13:56:(combat_events.scp,3)"-->  If attacker tags are used, damage gets spread like this:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 19"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   19"
13:56:(combat_events.scp,3)"--- Initial Physical damage: 19 (reduced by 8 percent)"
13:56:(combat_events.scp,3)"--- Resulting Physical damage: 18"
13:56:(combat_events.scp,3)"-->  Damage after modifications are made:"
13:56:(combat_events.scp,3)"--> Total Physical damage: 18"
13:56:(combat_events.scp,3)"--> Total Fire damage:     0"
13:56:(combat_events.scp,3)"--> Total Cold damage:     0"
13:56:(combat_events.scp,3)"--> Total Energy damage:   0"
13:56:(combat_events.scp,3)"--> Total Poison damage:   0"
13:56:(combat_events.scp,3)"--> Total Magic damage:    0"
13:56:(combat_events.scp,3)"-->  Grand Total damage:   18" 


Wonder what is the problem?
(This post was last modified: 06-21-2014 08:58 PM by MirroR.)
06-21-2014 01:42 PM
Find all posts by this user Like Post Quote this message in a reply
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #6
RE: Elemental Combat System
These tags:

Code:
TAG.ColdDamagePercent=20
TAG.EnergyDamagePercent=20
TAG.FireDamagePercent=20
TAG.PoisonDamagePercent=20
TAG.PhysicalDamagePercent=20

...are applied to the character, not the weapon... If you want the equiping of a weapon (or anything else for that matter) to raise or lower those numbers, you would use a TYPEDEF event on the weapon. Something like this:

Code:
[TYPEDEF e_equipitem_elemental]
ON=@ClientToolTip
      IF (<TAG0.PhysicalDamagePercent>)
         SRC.ADDCLILOC 1060403,<dTAG.PhysicalDamagePercent>
      ENDIF
      IF (<TAG0.FireDamagePercent>)
         SRC.ADDCLILOC 1060405,<dTAG.FireDamagePercent>
      ENDIF
      IF (<TAG0.ColdDamagePercent>)
         SRC.ADDCLILOC 1060404,<dTAG.ColdDamagePercent>
      ENDIF
      IF (<TAG0.PoisonDamagePercent>)
         SRC.ADDCLILOC 1060406,<dTAG.PoisonDamagePercent>
      ENDIF
      IF (<TAG0.EnergyDamagePercent>)
         SRC.ADDCLILOC 1060407,<dTAG.EnergyDamagePercent>
      ENDIF
ON=@Equip
   IF (<TAG0.PhysicalDamagePercent>)
      SRC.TAG.PhysicalDamagePercent=<EVAL <SRC.TAG0.PhysicalDamagePercent> + <TAG0.PhysicalDamagePercent>>
   ENDIF
   IF (<TAG0.FireDamagePercent>)
      SRC.TAG.FireDamagePercent=<EVAL <SRC.TAG0.FireDamagePercent> + <TAG0.FireDamagePercent>>
   ENDIF
   IF (<TAG0.ColdDamagePercent>)
      SRC.TAG.ColdDamagePercent=<EVAL <SRC.TAG0.ColdDamagePercent> + <TAG0.ColdDamagePercent>>
   ENDIF
   IF (<TAG0.PoisonDamagePercent>)
      SRC.TAG.PoisonDamagePercent=<EVAL <SRC.TAG0.PoisonDamagePercent> + <TAG0.PoisonDamagePercent>>
   ENDIF
   IF (<TAG0.EnergyDamagePercent>)
      SRC.TAG.EnergyDamagePercent=<EVAL <SRC.TAG0.EnergyDamagePercent> + <TAG0.EnergyDamagePercent>>
   ENDIF
ON=@UnEquip
   IF (<TAG0.PhysicalDamagePercent>)
      SRC.TAG.PhysicalDamagePercent=<EVAL <SRC.TAG0.PhysicalDamagePercent> - <TAG0.PhysicalDamagePercent>>
      IF (<SRC.TAG0.PhysicalDamagePercent>==0)
         SRC.TAG.PhysicalDamagePercent=
      ENDIF
   ENDIF
   IF (<TAG0.FireDamagePercent>)
      SRC.TAG.FireDamagePercent=<EVAL <SRC.TAG0.FireDamagePercent> - <TAG0.FireDamagePercent>>
      IF (<SRC.TAG0.FireDamagePercent>==0)
         SRC.TAG.FireDamagePercent=
      ENDIF
   ENDIF
   IF (<TAG0.ColdDamagePercent>)
      SRC.TAG.ColdDamagePercent=<EVAL <SRC.TAG0.ColdDamagePercent> - <TAG0.ColdDamagePercent>>
      IF (<SRC.TAG0.ColdDamagePercent>==0)
         SRC.TAG.ColdDamagePercent=
      ENDIF
   ENDIF
   IF (<TAG0.PoisonDamagePercent>)
      SRC.TAG.PoisonDamagePercent=<EVAL <SRC.TAG0.PoisonDamagePercent> - <TAG0.PoisonDamagePercent>>
      IF (<SRC.TAG0.PoisonDamagePercent>==0)
         SRC.TAG.PoisonDamagePercent=
      ENDIF
   ENDIF
   IF (<TAG0.EnergyDamagePercent>)
      SRC.TAG.EnergyDamagePercent=<EVAL <SRC.TAG0.EnergyDamagePercent> - <TAG0.EnergyDamagePercent>>
      IF (<SRC.TAG0.EnergyDamagePercent>==0)
         SRC.TAG.EnergyDamagePercent=
      ENDIF
   ENDIF

Note, there is nothing in this code to check that your cumulative percent values are reasonable (less than 100.)
06-23-2014 02:54 AM
Find all posts by this user Like Post Quote this message in a reply
MirroR
Apprentice
*

Posts: 36
Likes Given: 4
Likes Received: 5 in 5 posts
Joined: Apr 2012
Reputation: 1

Resty of Abyss

Post: #7
RE: Elemental Combat System
Have a small problem, the damage rates are almost identical.
dampoi,damenergy,damfire,damcold,damphysical, 100 but the damage range of the weapon very low.

PHP Code:
17:32:(COMBAT_EVENTS.SCP,3)"-->  Damage after modifications are made:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Magic damage:    0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   15"
17:32:(COMBAT_EVENTS.SCP,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"GetHit Begins: Ozan(01dad) gets hit by ozan(01dd6) using a 0(0)"
17:32:(COMBAT_EVENTS.SCP,3)"- Before Mod:  Max Damage=13 Type=0402 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"-- No magic damage detected"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If damage flags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 13"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   13"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If attacker tags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   10"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Physical damage: 2 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Fire damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Fire damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Cold damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Cold damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Energy damage: 2 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Energy damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Poison damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Poison damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Damage after modifications are made:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Magic damage:    0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   10"
17:32:(COMBAT_EVENTS.SCP,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"GetHit Begins: Ozan(01dad) gets hit by ozan(01dd6) using a 0(0)"
17:32:(COMBAT_EVENTS.SCP,3)"- Before Mod:  Max Damage=15 Type=0402 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"-- No magic damage detected"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If damage flags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 15"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   15"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If attacker tags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   15"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Physical damage: 3 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Physical damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Fire damage: 3 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Fire damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Cold damage: 3 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Cold damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Energy damage: 3 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Energy damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Poison damage: 3 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Poison damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Damage after modifications are made:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   3"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Magic damage:    0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   15"
17:32:(COMBAT_EVENTS.SCP,3)"- After Mods:  Max Damage=15 Type=02 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"GetHit Begins: Ozan(01dad) gets hit by ozan(01dd6) using a 0(0)"
17:32:(COMBAT_EVENTS.SCP,3)"- Before Mod:  Max Damage=14 Type=0402 Difficulty=0"
17:32:(COMBAT_EVENTS.SCP,3)"-- No magic damage detected"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If damage flags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 14"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   14"
17:32:(COMBAT_EVENTS.SCP,3)"-->  If attacker tags are used, damage gets spread like this:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   10"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Physical damage: 2 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Fire damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Fire damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Cold damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Cold damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Energy damage: 2 (reduced by 0 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Energy damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--- Initial Poison damage: 2 (reduced by 3 percent)"
17:32:(COMBAT_EVENTS.SCP,3)"--- Resulting Poison damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Damage after modifications are made:"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Physical damage: 2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Fire damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Cold damage:     2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Energy damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Poison damage:   2"
17:32:(COMBAT_EVENTS.SCP,3)"--> Total Magic damage:    0"
17:32:(COMBAT_EVENTS.SCP,3)"-->  Grand Total damage:   10"
17:32:(COMBAT_EVENTS.SCP,3)"- After Mods:  Max Damage=10 Type=02 Difficulty=0" 
06-25-2014 12:33 AM
Find all posts by this user Like Post Quote this message in a reply
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #8
RE: Elemental Combat System
It looks like it is working okay... perhaps what you are seeing is the "Sphere math" which rounds fractional numbers down to the nearest whole number.
06-26-2014 01:45 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes RanXerox's post
GonzoHD
Apprentice
*

Posts: 6
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Jul 2020
Reputation: 0



Post: #9
RE: Elemental Combat System
Thanks Smile
07-28-2020 10:40 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)